从Pandas直方图的x轴中删除年份小数

frebpwbc  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(134)

我正试着按年绘制我的数据的直方图;然而,X轴“年份”以十进制格式显示(即(2020.0,2020.25...)而不是整数格式。
直方图

我从日期字符串中提取了年份
df['Year'] = pd.DatetimeIndex(df['INCI_DATE']).year
然后使用pandas hist命令绘制
hist = df.Year.hist(bins=3, figsize=(10,10))
我尝试将'Year'列转换为int,但得到的结果相同。df.Year = df.Year.astype(int)
我怎样才能得到只有整数格式的年份?

nqwrtyyt

nqwrtyyt1#

如果你只想看到年份,不要尝试将其更改为年份格式。将其保留为日期时间并绘制它。Matplotlib可以以您需要的格式显示它。您可以使用set_major_locator()set_major_formatter()。下面是更新的代码...希望这就是您正在寻找的...

## You can update INCI_DATE as datetime, or create a new column... 
df['Year'] = pd.DatetimeIndex(df['INCI_DATE'])#.year
hist = df.Year.hist(bins=3, figsize=(10,4)) 

import matplotlib.dates as mdates
hist.xaxis.set_major_locator(mdates.YearLocator())   #to get a tick every 1 year
hist.xaxis.set_major_formatter(mdates.DateFormatter('%Y'))     #Show only Year

输出图

相关问题