在python下使用pandas,如何使用matplotlib绘制日期?

2024-07-03 05:18:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个datframe bankdat,有两列,一列是str格式的日期,一列是浮点数。我想使用pandas和matplotlib生成一个以x轴为日期,y轴为浮动的绘图。我使用

bankdat['Buchungstag'] = pd.to_datetime(bankdat['Buchungstag'])

当我现在尝试使用

bankdat.plot()
plt.show()

我在x轴上得到的是数字而不是日期:

example

我做错什么了?谢谢你的帮助 PS:我对编码和堆栈溢出还不熟悉,如果您指出我的错误,我将不胜感激

编辑:谢谢你的建议。不幸的是,使用集合索引会产生这样的图:fig2。我使用的分布是否与建议的不同?你知道吗

编辑2。 我从csv文件中获取数据帧,使用

ausgaben = pd.read_csv('asd.csv', encoding = 'ISO-8859-1',sep=';', skiprows=6,usecols=[0,7])

之后,我将使用

bankdat = pd.DataFrame(np.array([[np.nan, '10000']]), columns=[ausgaben.columns[0], ausgaben.columns[1]]).append(ausgaben)

感谢您指出日期顺序,我甚至还没到“思考我的数据是否有意义”的阶段。数据帧如下所示: example 3,并导出为csv

,Betrag (EUR),Kontostand
,4130.96,4130.96
2016-12-23,-65.0,4065.96
2016-12-20,520.0,4585.96
2016-12-19,-29.5,4556.46
2016-09-12,-1000.0,3556.46

按照Dmitry Polonskiy的建议解决:“这可能是因为你的日期栏中的第一个日期是NAT。试试这个班卡dat.Buchungstag.shift(1) .plot()”。谢谢你的帮助!你知道吗


Tags: columnscsv数据编辑plot格式np建议
1条回答
网友
1楼 · 发布于 2024-07-03 05:18:07
bankdat.set_index(['Buchungstag'], inplace = True)
bankdat.index.name = None

bankdat.Buchungstag.plot(figsize=(10,6), title = 'Title', fontsize = 16)

相关问题 更多 >