首页 > 解决方案 > 遍历 pandas 数据框或 groupby 对象

问题描述

df_headlines =

https://i.imgur.com/OnLfhQ5.png

我想按date列分组,然后按日期计算, 和出现的次数-1,然后以计数最高的为准,将其用作.01daily_score

我从一个开始groupby

df_group = df_headlines.groupby('date')

这将返回一个 groupby 对象,鉴于我想要在上面执行的操作,我不确定如何使用它:

https://i.imgur.com/jmTcrNG.png

我可以使用以下内容进行迭代吗?:

for index, row in df_group.iterrows():
    daily_pos = []
    daily_neg = []
    daily_neu = []

标签: pythonpandas

解决方案


正如 Ch3steR 作为评论所暗示的那样,您可以通过以下方式遍历您的组:

for name, group in headlines.groupby('date'):
    daily_pos = len(group[group['score'] == 1])
    daily_neg = len(group[group['score'] == -1])
    daily_neu = len(group[group['score'] == 0])

print(name, daily_pos, daily_neg, daily_neu)

对于每次迭代,变量name将包含date列中的值(例如 4/13/20、4/14/20、5/13/20),并且变量group将包含变量中包含的所有行的date数据name框.


推荐阅读