首页 > 解决方案 > 为数据框中的每一行运行函数

问题描述

我有一个数据框df1,如下所示:

date        sentence
29/03/1029  I like you
30/03/2019  You eat cake

并运行函数getVerbgetObj数据框df1。所以,输出是这样的:

date        sentence      verb   object
29/03/1029  I like you    like   you
30/03/2019  You eat cake  eat    cake

我希望这些函数 (getVerbgetObj) 为df1. 有人可以帮助我以有效的方式解决这个问题吗?

太感谢了。

标签: pythonpython-3.xpandasdataframe

解决方案


假设您有一个 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)

数据框.apply

您也可以参考上面的链接。除此之外,Series.map、Series.apply 也很方便,如上述答案中所述。干杯!


推荐阅读