我试图 group
所有 values
进入 months
和 plot
这些作为 bar chart
. 以下是我到目前为止所尝试的内容:
import pandas as pd
d1 = ({
'Date' : ['1/7/18','1/7/18','1/8/18','1/8/18','1/9/18'],
'Value' : ['Foo','Bar','Foo','Bar','Foo'],
})
df1 = pd.DataFrame(data = d1)
df1['Date'] = pd.to_datetime(df1['Date'])
df1.set_index('Date', inplace = True)
df1.resample('1M').count()['Value'].plot(kind = 'bar')
但这只会产生 one bar
, count
为 5
. 我希望预期的输出是 3
单独 bars
. count
的 2
为 July
, 2
为 August
, 1
为 September
.
3 回答
问题是转换为日期时间,需要设置格式或
dayfirst=True
,因为DD/MM/YY
:要么:
如果需要按月名称使用:
如果需要正确的月份订购:
如果要过滤掉
0
值:感谢@asongtoruin的另一个想法:
另一种解决方案是使用数据透视表按日期分组 .
你的代码运行得很好,但是你把日/月格式搞混了
你需要做的就是改变
至