Python:ValueError:所有参数应具有相同的长度

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)请帮助我获取绘图命令,以在单个绘图中获取价格和移动平均价格。

Der*_*k O 5

尽管答案已在评论中解决,但我还是添加了答案,以便遇到相同问题的人可以找到解决方案。

Colab 的 Plotly 版本是 v4.4.1,px.line该版本 Plotly 中的函数不支持多元素列表作为参数的输入y。升级到最新版本Plotly v4.14.3,然后在 Colab 中重新启动运行时可以解决此问题。