pandas.DataFrame只接受相同大小的数据吗?

时间:2018-06-04 19:56:31

标签: python pandas plotly

我想知道我是否想使用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)

toplot变量是不同大小的列表列表: enter image description here

df结果将值作为列表但不是每个组的单个值(在示例中我看到它具有单个值): enter image description here ... enter image description here

然后我收到一个错误: enter image description here

我之前也可以运行toplot=np.asarray(toplot),但它没有帮助,我仍然会收到此错误

1 个答案:

答案 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'] 然后这可以正常工作