在 Python 中,apply 函数只能返回单个结果。如果想要返回多个结果,可以使用元组、列表或字典等数据类型来存储多个值,并将其作为单个返回值传递给 apply 函数。

例如,假设有一个函数 my_func,它接受两个参数并返回两个结果,可以将结果存储在元组中:

def my_func(a, b):
    return a + b, a * b

result = df.apply(lambda row: my_func(row['col1'], row['col2']), axis=1)

# 结果存储在元组中
print(result[0])  # (3, 2)
print(result[1])  # (5, 6)

在这个例子中,apply 函数将 my_func 应用到每一行,将每一行的 col1col2 作为参数传递给 my_func,并将返回的结果存储在元组中。最终,result 是一个包含多个元组的 Series 对象。

类似地,也可以使用列表或字典来存储多个结果。例如,将结果存储在列表中:

def my_func(a, b):
    return [a + b, a * b]

result = df.apply(lambda row: my_func(row['col1'], row['col2']), axis=1)

# 结果存储在列表中
print(result[0])  # [3, 2]
print(result[1])  # [5, 6]

或者将结果存储在字典中:

def my_func(a, b):
    return {'sum': a + b, 'product': a * b}

result = df.apply(lambda row: my_func(row['col1'], row['col2']), axis=1)

# 结果存储在字典中
print(result[0])  # {'sum': 3, 'product': 2}
print(result[1])  # {'sum': 5, 'product': 6}
``
python 使用apply 返回多个结果

原文地址: https://www.cveoy.top/t/topic/fshb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录