【发布时间】:2021-12-30 15:20:26
【问题描述】:
我有时间戳作为索引和价格值作为列的数据框。当我尝试使用plot_acf 绘图时,x 轴从1970 开始。
代码:
import pandas as pd
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
data = {'price_btc': {Timestamp('2017-04-04 00:00:00'): 1132.0,
Timestamp('2017-04-05 00:00:00'): 1142.0,
Timestamp('2017-04-06 00:00:00'): 1128.0,
Timestamp('2017-04-07 00:00:00'): 1164.0,
Timestamp('2017-04-08 00:00:00'): 1189.0,
Timestamp('2017-04-09 00:00:00'): 1188.0,
Timestamp('2017-04-10 00:00:00'): 1194.0,
Timestamp('2017-04-11 00:00:00'): 1208.0,
Timestamp('2017-04-12 00:00:00'): 1213.0,
Timestamp('2017-04-13 00:00:00'): 1218.0}}
df = pd.DataFrame(data)
# Original Series
fig, axes = plt.subplots(3, 2, sharex=True, figsize=(20, 5))
axes[0, 0].plot(df.price_btc); axes[0, 0].set_title('Original Series')
plot_acf(df.price_btc, ax=axes[0, 1])
# 1st Differencing
axes[1, 0].plot(df.price_btc.diff()); axes[1, 0].set_title('1st Order Differencing')
plot_acf(df.price_btc.diff().dropna(), ax=axes[1, 1])
# 2nd Differencing
axes[2, 0].plot(df.price_btc.diff().diff()); axes[2, 0].set_title('2nd Order Differencing')
plot_acf(df.price_btc.diff().diff().dropna(), ax=axes[2, 1])
plt.show()
预期输出的自相关图中的日期也是 2017 年。
问题在于sharex=True。自相关图需要有不同的 x 标签。
【问题讨论】:
-
@Mr.T 如果我删除自相关图,一切似乎都正常。仅当我为自相关图添加自相关图和 x 轴范围为 0-100 时才会发生这种情况。
标签: python pandas statsmodels arima