我正在Panda中学习lambda函数,并且正在尝试使用它,但是不知何故,我真的很简单。我相信我真的很亲近。
数据框看起来像这样
A B
0 1 2
1 2 3
2 3 4
我正在尝试使用以下数据框:
A B C
0 1 2 3
1 2 3 5
2 3 4 8
newSumColumn = lambda x: x['A'] / x['B']
df['C'] = df.apply(newSumColumn)
但是,当我这样做时,我遇到了('A', 'occurred at index Unnamed: 0')
这似乎是一项简单的任务,但此时我将头撞在墙上
答案 0 :(得分:1)
您有一个错字,需要添加axis=1
# it is B not b
newSumColumn = lambda x: x['A'] / x['B']
#should add axis=1
df.apply(newSumColumn,axis = 1)
Out[1018]:
0 0.500000
1 0.666667
2 0.750000
dtype: float64
答案 1 :(得分:0)
默认情况下,该函数沿列应用。要沿行申请,您可以尝试:
newSumColumn = lambda x: x['A'] / x['b']
df['C'] = df.apply(newSumColumn, axis=1)