我在熊猫中有一个时间段,日期是在月底:
import pandas as pd
s = pd.Series({
'2018-04-30': 0,
'2018-05-31': 1,
'2018-06-30': 0,
'2018-07-31': 1,
'2018-08-31': 0,
'2018-09-30': 1,
})
s.index = pd.to_datetime(s.index)
当我用matplotlib绘制这个图时,我得到了我期望的结果,在月底点,线在2018年5月之前开始:
import matplotlib.pyplot as plt
plt.plot(s)
但是熊猫的本地绘图功能在月初绘制点:
s.plot()
我以为这可能只是熊猫把“4月30日”标记为“4月”,但事实似乎并非如此:
s2 = pd.Series([0.2, 0.7], index=pd.date_range('2018-05-01', '2018-05-02'))
s.plot()
s2.plot()
这是熊猫身上的虫子还是我在这里做错了什么?
最佳答案
这好像是大熊猫的虫子。要获得与matplotlib相同的结果,可以始终使用x_compat=True
。这样还可以使用matplotlib.dates
格式化程序和定位器。
s = pandas.Series(...)
s.plot(x_compat=True)