我有一个这样的数据框:
df = pd.DataFrame({ 'A': ['a','b','c','d','e'],
'B': ['1970','1970','1980','1980','1972']
})
我将B列转换为日期时间:
df['B'] = pd.to_datetime(pd.DatetimeIndex(df.B).year, format='%Y')
Out[13]:
A B
0 a 1970-01-01
1 b 1970-01-01
2 c 1980-01-01
3 d 1980-01-01
4 e 1972-01-01
现在我想绘制一个在x轴上显示年份并在y-axi上计数的直方图,即1970年历史记录应该显示2,1980年历史记录应该显示2,依此类推。 怎么做...
答案 0 :(得分:2)
您可以这样做:
df = pd.DataFrame({ 'A': ['a','b','c','d','e'],
'B': ['1970','1970','1980','1980','1972']
})
df['B'].hist(grid=False)
输出:
OR
df['B'].value_counts(sort=False).plot.bar()
输出:
和
df = pd.DataFrame({ 'A': ['a','b','c','d','e'],
'B': ['1970','1970','1980','1980','1972']
})
df['B'] = pd.to_datetime(pd.DatetimeIndex(df.B).year, format='%Y')
df['B'].dt.year.value_counts(sort=False).plot.bar()
输出: