python - 为数据框中的每一行运行函数
问题描述
我有一个数据框df1
,如下所示:
date sentence
29/03/1029 I like you
30/03/2019 You eat cake
并运行函数getVerb
和getObj
数据框df1
。所以,输出是这样的:
date sentence verb object
29/03/1029 I like you like you
30/03/2019 You eat cake eat cake
我希望这些函数 (getVerb
和getObj
) 为df1
. 有人可以帮助我以有效的方式解决这个问题吗?
太感谢了。
解决方案
假设您有一个 pandas 数据框,例如:
import pandas as pd, numpy as np
df = pd.DataFrame([[4, 9]] *3, columns=['A', 'B'])
>>>df
A B
4 9
4 9
4 9
比方说,我们想要 A 列和 B 列的总和,行和列。为了实现它,我们写
df.apply(np.sum, axis = 1) # for row-wise sum
Output: 13
13
13
df.apply(np.sum, axis = 0) # for column-wise sum
Output: A 12
B 27
现在,如果您想为特定的列集应用任何函数,您可以从数据框中选择一个子集。
例如:我只想计算 A 列的总和。
df['A'].apply(np.sum, axis =1)
您也可以参考上面的链接。除此之外,Series.map、Series.apply 也很方便,如上述答案中所述。干杯!
推荐阅读
- api - 如何将不记名令牌放入 IFTTT Webhook
- c# - C# wpf用windows打开序列化文件
- reactjs - 异步 redux 调度导致内存泄漏
- python - Python 模块子文件夹结构
- c# - 如何以编程方式获取 Word 文档/模板中的可用页面高度
- sql - 查询 M:N 关系中的所有 N 个元素
- python-3.x - 导入 Python 小部件的两种不同方式有什么区别?
- python-3.x - 拆分 XML 文件 - Python 3
- excel - 如何使用 EPPlus 在 Excel 中开发占位符或标记?
- reactjs - 使用 useState 和 setTimeout 测试组件