Skip to main content
 首页 » 编程设计

python之为数据框中的每一行运行函数

2025年05月04日21arxive

我有一个数据框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 

我希望为 df1 中的每一行运行这些函数(getVerb 和 getObj)。有人可以帮我有效地解决这个问题吗?

非常感谢。

请您参考如下方法:

pandas DataFrame 的每一列都是一个Series。您可以使用 Series.apply 或 Series.map 函数来获得您想要的结果。

df1['verb'] = df1['sentence'].apply(getVerb) 
df1['object'] = df1['sentence'].apply(getObj) 
 
# OR 
 
df1['verb'] = df1['sentence'].map(getVerb) 
df1['object'] = df1['sentence'].map(getObj) 

有关 Series.apply 的更多详细信息,请参阅 pandas 文档或 Series.map .