首页 > 解决方案 > Panda:使用 lambda 函数通过添加两列来创建新列

问题描述

我正在 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')

这似乎是一项简单的任务,但此时我的头撞到了墙上

标签: pythonpandasnumpy

解决方案


您有一个错字,需要添加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

推荐阅读