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

标签 python pandas plotly

我已经引用了之前的查询 All arguments should have the same length 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

我创建了 12 个月的移动平均线:

df['MA12'] = df['Price'].rolling(12).mean()

enter image description here

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()

2) 现在我使用下面的命令来绘制时间序列:我想要在单个图上相对于日期的价格和移动平均价格趋势

import plotly.express as px
fig = px.line(df, x='Date', y=["Price","MA12"], template = 'plotly_dark')

fig.show()

获取错误:ValueError:所有参数应具有相同的长度。参数 y 的长度为 2,而先前参数 ['Date'] 的长度为 509。

我的查询:

a) 为什么我会收到此错误。

b) 请帮助我获取 plotly 命令,以便在单个图中获取价格和移动平均价格。

最佳答案

虽然评论中已经解决了答案,但我添加了一个答案,以便遇到相同问题的人可以找到解决方案。

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

关于Python:ValueError:所有参数都应该具有相同的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67955946/

相关文章:

c# - 捕获 python 程序的标准输出

python - Pandas read_json() 因一个简单的 JSON 字符串而失败

python - 带有 plotly 的等值线 map

R绘图极坐标图简单定制

在图例中有没有数据的 plotly

python - 从另一个对象的变量设置一个对象的变量时奇怪的 Python 行为

python - 为什么 PostgreSQL 适配器 psycopg2 在 Google App Engine dev_appserver.py 中失败?

python - Keras 中的特征提取

python - 检查 Pandas 列列表中的项目是否包含另一列中的值

python - 将字符串的 Pandas DataFrame 转换为直方图