错误'AttributeError:'DataFrameGroupBy'对象在数据帧上没有属性'而groupby功能

时间:2017-10-02 22:31:49

标签: python pandas dataframe group-by

我正在使用数据框news_count。以下是news_count.columns.values语法

的输出
 [('date', '') ('EBIX UW Equity', 'NEWS_SENTIMENT_DAILY_AVG') ('Date', '')
  ('day', '') ('month', '') ('year', '')]

我需要按年和月分组并且'NEWS_SENTIMENT_DAILY_AVG'的总和值以下是我尝试过的代码。但两者都不起作用

news_count.groupby(['year','month']).NEWS_SENTIMENT_DAILY_AVG.values.sum()

'AttributeError:'DataFrameGroupBy'对象没有属性'

 news_count.groupby(['year','month']).iloc[:,1].values.sum()

AttributeError:无法访问'DataFrameGroupBy'对象的可调用属性'iloc',请尝试使用'apply'方法

输入数据:

      ticker       date           EBIX UW Equity    month    year
      field             NEWS_SENTIMENT_DAILY_AVG
         0      2007-05-25                   0.3992      5       2007
         1      2007-11-06                   0.3936      11      2007 
         2      2007-11-07                   0.2039      11      2007
         3      2009-01-14                   0.2881       1      2014

2 个答案:

答案 0 :(得分:0)

news_count_res变量的数据框中提取所需的列,然后应用聚合函数

news_count_res = news_count[['year','month','NEWS_SENTIMENT_DAILY_AVG']]
news_count_res.group(['year','month']).sum()

答案 1 :(得分:0)

通过以下方式,我们可以在不需要提取列的情况下在所需列上应用聚合函数

news_count.group(['year','month'])['NEWS_SENTIMENT_DAILY_AVG']。sum()