python - 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')
这似乎是一项简单的任务,但此时我的头撞到了墙上
解决方案
您有一个错字,需要添加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
推荐阅读
- c# - 使用 .NET CORE 3.1 下载 SFTP
- linux - platform_driver 和 *_ops 结构中的函数之间的区别
- python - 如何使用 Python Celery 在不同的服务器上执行任务?
- elasticsearch - 是否有任何工具可用于生成弹性搜索映射
- r - 在 R 中生成图形的 HTML 代码生成
- python - 熊猫通过一些关键词将行转换为列包含
- angular - 如何使用 Angular 在 Nativescript 中集成 PAYUMONEY
- r - 通过 ODBC 从 MS SQL 读取后的 R 编码问题
- sql - SQL条件列并合并两行
- html - 如何只让一个 Bootstrap 列控制高度