(这是一篇自传文章,通过帮助其他人不必解释plotly如何最好地处理长格式和宽格式的数据,从而缩短了对plotly问题的回答。
我想在尽可能少的行中基于熊猫数据框构建一个可绘制的图形。我知道您可以使用plotly.express做到这一点,但是对于我所谓的标准pandas数据框而言,这失败了。描述行顺序的索引,描述数据帧中值名称的列名称:
a b c
0 100.000000 100.000000 100.000000
1 98.493705 99.421400 101.651437
2 96.067026 98.992487 102.917373
3 95.200286 98.313601 102.822664
4 96.691675 97.674699 102.378682
fig=px.line(x=df.index, y = df.columns)
这会引发错误:
ValueError:所有参数都应具有相同的长度。参数
y
的长度为3,而先前参数['x']的长度为100`
这里您尝试使用宽格式的熊猫数据框作为px.line
的源。plotly.express
被设计为与long format的数据帧一起使用,通常被称为tidy data(并且please
我将添加它作为答案,以便将其作为证据。首先,谢谢@vestland。这个问题一遍又一遍,所以解决这个问题很好,而且可以很容易地标记重复的问题。