Pandas DataFrameGroupBy导出到Excel

时间:2014-09-11 13:52:17

标签: python pandas export-to-excel sql-insert

我试图将分组记录的数量导出到Excel。

我的CSV文件如下所示:

Date        Country   Sub  Source
2014-09-11    US      1    source1
2014-09-11    US      2    source2
2014-09-11    UK      1    source3
2014-09-11    US      1    source1
2014-09-11    IN      3    source4

我需要按国家,子和来源分组记录。

df = pd.read_csv('log.csv',sep='\t')
count = df.groupby(['Country','Sub','Source']).size()
count.to_excel('report.xls', index=False)

但是当我运行它时出现错误:AttributeError: 'Series' object has no attribute 'to_excel'

不允许将DataFrameGroupBy导出到Excel吗? 还有一种方法可以将带有计数信息的分组记录插入MySQL数据库吗?

2 个答案:

答案 0 :(得分:1)

根据文档groupby返回 GroupBy 对象。 to_excel操作只能在DataFrame上执行。您可以将 GroupBy 对象转换为DataFrame,然后调用to_excel函数

答案 1 :(得分:1)

df = pd.read_csv('log.csv',sep='\t')
df = pd.DataFrame(df.groupby(['Country','Sub','Source']).size(),columns=['Count'])

你会得到:

                     Count
Country Sub Source        
IN      3   source4      1
UK      1   source3      1
US      1   source1      2
        2   source2      1

然后通过以下方式保存到excel:

df.to_excel('output.xls')