代码之家  ›  专栏  ›  技术社区  ›  RebeccaK375

获取熊猫数据帧的列中分组[重复]

  •  0
  • RebeccaK375  · 技术社区  · 6 年前

    这个问题已经有了答案:

    • how to pivot a dataframe 1个答案
      • Seaborn Heatmap可视化使用了一个类似这样的大脑网络数据集:

        其中hemi属于node,node属于network。我想制作一个数据框架,我必须用与垂直组织相同的方式查看。

        我的数据框架是这样的:

        时间组子集值
        时间1 A 1 100
        时间2 A 1200
        时间3 B 1 300
        时间4 B 2 400
        时间2 A 2 500
        时间5 A 3 100
        时间5 b 5 200
        时间6 B 5 300
        

        我可以使用group by或set_index:

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

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

        a b
        1 2 3 4 1 2 3 4
        时间1 100
        时间2 200 500
        时间3空
        ….
        

        其中,A组和B组为“响度”列,子组分别位于A和B标题下。然后,对于组中的每个子集,每次都有一个值。 1个答案

    Seaborn Heatmap可视化使用的Brain_Networks数据集如下:

    enter image description here

    其中hemi属于node,node属于network。我想制作一个数据框架,我必须与垂直组织的外观相同。

    我的数据框架是这样的:

    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
    

    我可以使用group by或set_index水平分组:

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

    但是,我希望我的数据框架是垂直的,并且如下所示:

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

    其中,A组和B组为“响度”列,子组分别位于A和B标题下。然后,对于组中的每个子集,每次都有一个值。

    1 回复  |  直到 6 年前
        1
  •  2
  •   theletz    6 年前

    试试这个:

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