【发布时间】:2020-03-11 22:43:42
【问题描述】:
我正在尝试从返回元组的函数中为数据框创建两列 我有一个名为 df 的现有数据框,我正在使用 apply lambda 根据我的数据框的 2 列计算 2 个值
def f(a,b):
return a+b, a-b
df['SUM'], df['DIFF'] = apply(lambda x: f(x.COLUMN_1,x.COLUMN_2)
但我收到了错误:
ValueError:要解压的值太多(预计 2 个)
我的函数返回一系列与 df 行数相同的元组
【问题讨论】:
-
数据集在哪里? how to provide a great pandas example..
-
您的代码实际上对我有用。编辑:自您编辑后不再存在
-
如果
a和b是Series 则有效,因为返回的是Series 的元组,并且每个都设置为您指定的列;即df = pd.DataFrame(data=range(10)); df['SUM'], df['DIFF'] = f(df[0], df[0])
标签: python pandas dataframe apply valueerror