我正在使用python中的pandas库生成多索引数据,即列是多索引的。指标为category和source。我将这些数据保存为.csv文件。在文件中,第一行是category值,第二行是对应的source值,然后数据如下。我使用这个文件在Orange3软件中可视化。但它只以第一行作为列名,如何将列名作为两者的组合。
如果可能的话,我只是想把整件事想象成一个直方图。
category和source) +1(行标签)变量,三维可视化将是最好的或category和source组合变量)+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
发布于 2016-07-20 08:33:59
根据文档,Orange不支持读取多索引数据.
为了可视化数据,在将数据导出到csv之前,需要将其转换为正常的表格格式(每个特性一列)。
其中一种方法是DataFrame的unstack方法:
df.unstack().to_csv("file.csv")这将产生以下格式的文件:
category source label
1 a l1 1
1 a l2 4
1 b l1 2
...这样,您可以在Orange中使用类别和源作为单独的变量。
。
要加入类别和源,您需要在导出到csv之前先使用平缓层次索引:
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 5https://stackoverflow.com/questions/38451029
复制相似问题