使用日期类型从熊猫列绘制直方图

时间:2018-11-05 19:04:58

标签: python pandas

我有一个这样的数据框:

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,依此类推。 怎么做...

1 个答案:

答案 0 :(得分:2)

您可以这样做:

df = pd.DataFrame({ 'A': ['a','b','c','d','e'],
                    'B': ['1970','1970','1980','1980','1972']
                    })
df['B'].hist(grid=False)

输出:

enter image description here

OR

df['B'].value_counts(sort=False).plot.bar()

输出:

enter image description here

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()

输出:

enter image description here