我有以下数据框dft,其中有两列“ DATE”和“ Income”
dft = pd.DataFrame(chunk, columns=['DATE','Income'])
dft['DATE'] = pd.to_datetime(dft['DATE'], format='%m/%d/%Y')
_= dft.sort_values(by='DATE', ascending=1)
我现在正在尝试汇总每年每个月的数据。这意味着新数据框具有两列,例如2012年1月,然后是该年该月的收入。我可以使用以下代码在一个月内完成此操作,但这并未考虑该月份所在的年份。有什么方法可以按月份和年份分组?
monthlyincome = dft.groupby(dft['DATE'].dt.strftime('%B'))
[['Income']].sum().reset_index()
最终目标是将其放入条形图中。我当时想转换成两个列表,然后使用类似的东西:
plt.bar(xaxis,yaxis)
如何使它正常工作?
答案 0 :(得分:0)
尝试一下:
periods = dft.DATE.dt.to_period("M")
group = dft.groupby(periods).sum()
这应该使您返回年份和月份的总和。
答案 1 :(得分:0)
最终解决方案为:
dft = pd.DataFrame(chunk, columns=['DATE','Income'])
dft['DATE'] = pd.to_datetime(dft['DATE'], format='%m/%d/%Y')
_= dft.sort_values(by='DATE', ascending=1)
periods = dft.DATE.dt.to_period("M")
group = dft.groupby(periods).sum()
group = group.reset_index()
感谢玛雅克。