如何可视化橙色的多索引数据?

时间:2016-07-19 06:30:00

标签: python pandas orange

我在python中使用pandas库来生成多索引数据,即列是多索引的。指数为categorysource。我将此数据保存为.csv文件。在该文件中,第一行是category值,第二行是对应的source值,然后是数据。我使用这个文件在Orange3软件中可视化。但它只需要第一行作为列名,如何将列名作为两者的组合。

如果可能的话,我只想将整个事物想象成直方图。

  1. 因为,有效的2(categorysource)+ 1(行标签)变量,3d可视化最好
  2. 1(categorysource组合变量)+ 1(行标签),2d可视化
  3. category 1 1 1 1 1 2 2 source a b c d e f g label l1 1 2 3 4 5 6 7 l2 4 5 6 7 8 9 10

1 个答案:

答案 0 :(得分:1)

根据documentation,Orange不支持读取多索引数据。

为了可视化数据,在将数据导出到csv之前,您需要将其转换为普通的表格格式(每个要素一列)。

执行此操作的一种方法是DataFrame&#39} unstack方法:

df.unstack().to_csv("file.csv")

这将生成以下格式的文件:

category    source    label
1           a         l1      1
1           a         l2      4
1           b         l1      2
...

这样,您可以在Orange中使用category和source作为单独的变量。

要加入类别和来源,在导出到csv之前需要flatten the hierarchical index

df.columns = [' '.join(col).strip() for col in df.columns.values]
df.to_csv(file.csv)

这将按以下格式生成数据:

label       1 a       1 b ...
l1          1         2
l2          4         5