1
我有一个数据集,我按项目分组(例如“小部件”),然后运行关联。结果给出了每个小部件的矩阵,但是由于我有大量的矩阵,所以很难读取任何导出的CSV。转换熊猫关联到列
是否有一种简单的方法将矩阵转换为表示“列vs列”值的列?这进一步混淆了一些事实,即进入关联的一些列绝对不相关。
我试过Pandas Correlation Groupby的答案,但它保留列作为额外的索引(至少我认为这是正确的术语,因为我是熊猫新手)。
实例相关(与由数字):
+--------------------------------------+
| 1 Name Color Material MTTF |
+--------------------------------------+
| Name 1 0.2 0.4 0.01 |
| Color 0.2 1 0.03 0.08 |
| Material 0.4 0.3 1 0.75 |
| MTTF 0.01 0.08 0.75 1 |
+--------------------------------------+
| 2 Name Color Material MTTF |
+--------------------------------------+
| ... Name Color Material MTTF |
+--------------------------------------+
我想什么CSV输出会像下面的(请注意我已经删除列,其中的相关性没有意义):
+-------------------------------------------+
| Material vs Color Material vs MTTF |
+-------------------------------------------+
| 1 0.03 0.75 |
| 2 0.15 0.80 |
| ... |
+-------------------------------------------+
这使我获得了一部分。我的最终目标仍然是重新安排它,以便得到像“A vs B”和“B vs C”这样的重新命名的列。下面的工作,但它似乎很多slashing并放回到一起,所以我不知道是否有更好的方法: ''' 'col1 = corr_list [(corr_list [“level_1”] =='A' )&(corr_list [“level_2”] =='B')]。rename(columns = {0:“A_vs_B”})' col1 = col1.filter([“Widget Num”,“A_vs_B”]) ' col2 = corr_list [(corr_list [“level_1”] =='B')&(corr_list [“level_2”] =='C')]。rename(columns = {0:“B_vs_C”})' 'col2 = col2.filter([“Widget Num”,“B_vs_C”])' 'pd.merge(col1,col2 ...)' – user1601333
请参阅上面的编辑。 – Alexander