【发布时间】:2020-04-10 01:18:03
【问题描述】:
我想线性拟合一个 8 年的时间序列数据,在 x 轴标签中显示年份。
出现问题是因为我的dataframe 中有TZ-aware 日期时间列。所以,我不能直接将我的拟合代码与这种类型的时间戳一起使用。该文件是here。这就是我所做的。
# Convert TZ-aware timestamp intu numbers
ts = df['Timestamp'].apply(lambda x:x.toordinal()).sort_values()
# Fit
from numpy.polynomial.polynomial import polyfit
y = df.data
x = ts
fig, (ax) = plt.subplots(1,1, figsize=(10, 6))
ax.scatter(x, y)
b, m = polyfit(x, y, 1)
plt.plot(x, b + m * x, 'blue', linewidth=1.5)
plt.show()
结果如下。
正如预期的那样,它有效。但是,x 轴显示的是数字而不是年份。我想在 x 轴上显示 month-year 标签。
任何帮助都会很棒,并在此先感谢。
【问题讨论】:
标签: python timezone time-series regression