我想知道我是否想使用pandas.DataFrame
为多个小提琴图生成输入,这意味着我的数据将包含几个数据集,那些数据集必须具有相同的大小?
我实际上已经在很多方面尝试了这一点,但主要是从this示例复制。我的数据位于列表中,说[[1,2,3],[1,2],[1,2,3,4]]
我总是收到错误:
ValueError: setting an array element with a sequence
是因为数据集的大小不同吗?
更新: 我很抱歉,我不清楚,我的数据太大,无法显示,但我会尝试。 我的代码看起来像这样:
df = pandas.DataFrame(dict(Score=toplot, Group=gr))
fig = plotly.figure_factory.create_violin(df, data_header='Score', group_header='Group', height=500, width=800)
df结果将值作为列表但不是每个组的单个值(在示例中我看到它具有单个值):
...
我之前也可以运行toplot=np.asarray(toplot)
,但它没有帮助,我仍然会收到此错误
答案 0 :(得分:0)
由于我从未对我的问题得到任何合理的答复,我做了一些研究,发现大熊猫的输入数据必须是特定的类型才能返回正确的答案。
首先,确实在我编写类型的数据时:[[1,2,3],[1,2],[1,2,3,4]]
将返回不适合plotly
的答案
需要将数据作为单个向量/列表:[1,2,3,1,2,1,2,3,4]
以及与每个数字对应的标签:['A','A','A','B','B','C','C','C']
然后这可以正常工作