Python 将迭代编号写入df.apply()中的函数

Python 将迭代编号写入df.apply()中的函数,python,pandas,apply,Python,Pandas,Apply,我想使用df.apply()向DataFrame列添加值。这些值是指数乘以6的结果 将熊猫作为pd导入 #制作一个简单的数据帧 数据帧({“a”:[1,2,3,4,5,6,7,8,9],“b”:[3,4,4,5,6,7,8,9,1]) 打印(df) def func(一): 返回6*i #创建带有索引的未附加列 应用(lambda行:行a+行b,轴=1) df[“d”]=df.apply(λi:func(i),轴=1) 打印(df) 但是,我收到以下错误: ValueError: Wrong

我想使用df.apply()向DataFrame列添加值。这些值是指数乘以6的结果

将熊猫作为pd导入
#制作一个简单的数据帧
数据帧({“a”:[1,2,3,4,5,6,7,8,9],“b”:[3,4,4,5,6,7,8,9,1])
打印(df)
def func(一):
返回6*i
#创建带有索引的未附加列
应用(lambda行:行a+行b,轴=1)
df[“d”]=df.apply(λi:func(i),轴=1)
打印(df)
但是,我收到以下错误:

ValueError: Wrong number of items passed 2, placement implies 1

有人能帮我解释一下为什么我会收到这个错误吗。我知道这是一个非常简单的例子,在
pd.df.apply()
上有很多帖子和教程,但不知何故我无法完成这项工作

这里有点不稳定。据我所知,
apply
是错误的工具。你想把两列相加,每行乘以6?
df['d']=(df['a']+df['b'])*6
roganjosh说的:为什么不先添加它们而不应用,然后在绝对需要的情况下使用它:
df['a'].add(df['b']).apply(func)
(你不需要轴=1)但你真的不需要对这种矢量化用例使用apply,您收到错误的另一个原因是,您将finction应用于2列,而不是添加的series@anky_91函数只是将输入乘以6://@roganjosh是的,同意你不需要申请,我编辑了我的评论:)