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

How to visualize multi-index-ed data in orange?

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

如果可能的话,我只是想将整个事物可视化为直方图。

  1. 因为实际上有 2(categorysource)+ 1(行标签)变量,3d 可视化最好
  2. 1(categorysource 组合变量)+ 1(行标签),2d 可视化

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

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

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

一种方法是 DataFrameunstack 方法:

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

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

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

这样,您可以在 Orange 中将类别和来源用作单独的变量。

.

要加入类别和来源,您需要在导出到 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