Sab*_*rin 3 python pandas plotly
我已经提到了之前的查询“所有参数应该具有相同的长度” ,但仍然没有得到我的问题的答案。
我有一个黄金价格数据集。
Date Price
31-01-1979 1840.8
28-02-1979 2011.7
30-03-1979 1940.2
30-04-1979 2013.1
. .
. .
. .
26-02-2021 128073.3
31-03-2021 123639
30-04-2021 130934.3
31-05-2021 137979.1
Run Code Online (Sandbox Code Playgroud)
我创建了 12 个月移动平均线:
df['MA12'] = df['Price'].rolling(12).mean()
Run Code Online (Sandbox Code Playgroud)

1)首先我使用以下命令:我分别得到了两个不同的价格和移动平均线图。
import plotly.express as px
fig1 = px.line(df, x="Date", y="Price", template = 'plotly_dark')
fig2 = px.line(df, x="Date", y="MA12", template = 'plotly_dark')
fig1.show()
fig2.show()
Run Code Online (Sandbox Code Playgroud)
2)现在我使用下面的命令来绘制时间序列:我想要在单个图上显示相对于日期的价格和移动平均价格趋势
import plotly.express as px
fig = px.line(df, x='Date', y=["Price","MA12"], template = 'plotly_dark')
fig.show()
Run Code Online (Sandbox Code Playgroud)
出现错误:ValueError:所有参数应具有相同的长度。参数的长度y为 2,而之前的参数 ['Date'] 的长度为 509。
我的查询:
a) 为什么我会收到此错误。
b)请帮助我获取绘图命令,以在单个绘图中获取价格和移动平均价格。
尽管答案已在评论中解决,但我还是添加了答案,以便遇到相同问题的人可以找到解决方案。
Colab 的 Plotly 版本是 v4.4.1,px.line该版本 Plotly 中的函数不支持多元素列表作为参数的输入y。升级到最新版本Plotly v4.14.3,然后在 Colab 中重新启动运行时可以解决此问题。