我向您解释我的问题,我有一个日期列表(下面的“日期”列)和一个值列表,每个值都是特定产品的ID。
date = ["2017-01-01", "2017-01-01", "2017-01-03", "2017-02-02", "2017-02-02", "2017-02-03"]
val_1 = [15, 50, 100, 40, 20, 78]
dfx = pd.DataFrame({"time": date, "val":val_1})
dfx.time = pd.to_datetime(dfx.time, errors="ignore")
我将全名添加日期
dfx["month"] = dfx.time.dt.month.apply(lambda x: calendar.month_abbr[x])
然后我要做的是绘制时间序列:(经过时间的碎片数)
pd.crosstab(dfx.time, dfx.val).plot()
一切都很好,我唯一的问题是,在我的真实数据集上,我有太多的“日期”并且图形不可读,我想做的是用日历月替换日期。
因此,例如,在我的真实数据集中,我有31个1月的数据点,我只想在X轴上显示“ Jan”(在month变量中找到),并且仍然看到该图形,就像日期在X上一样-轴