在Pandas数据框的列中进行分组

时间:2018-06-22 19:51:58

标签: python pandas seaborn

Seaborn热图可视化使用如下所示的brain_networks数据集:

enter image description here

其中hemi属于节点,而节点属于网络。我要创建一个数据框,必须与该垂直组织的外观相同。

我的数据框如下:

time   group   subset    value
time1   A       1           100
time2   A       1           200
time3   B       1           300
time4   B       2           400
time2   A       2           500
time5   A       3           100
time5   B       5           200
time6   B       5           300

我可以使用groupby或set_index将它们水平分组:

df.reset_index()。set_index(['group','time','subset'])现在,对于每个组,我都有时间,并且每次我都有所有子集,每个子​​集都有一个值。

但是,我希望我的数据框是垂直的,看起来像这样:

                 A                         B
          1     2    3    4         1   2   3   4
time1    100   
time2    200   500
time3    NULL 
....

其中组A和B是列“ belonginess”指示符,子集分别在A和B标题下。然后,每次在组中每个子集都有一个值。

1 个答案:

答案 0 :(得分:2)

尝试一下:

df.pivot_table(index='time',columns=['group','subset'],values='value')