我正在学习熊猫的lambda功能,我正在尝试使用它,但不知何故卡在一个非常简单的taks,我相信我真的很接近。
数据框看起来像这样
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')
这看起来像是一项简单的任务,但此时我还是撞在了墙上
你有一个拼写错误,需要添加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
默认情况下,该功能沿列应用。要沿行申请,您可以尝试:
newSumColumn = lambda x: x['A'] / x['b']
df['C'] = df.apply(newSumColumn, axis=1)