繁体   English   中英

如何扩展/展开Pandas Dataframe?

[英]How does one expand/unfold a Pandas Dataframe?

我有以下pandas数据帧:

                                 Counts
Unique_ID       Subcategory 
a1              A                10440
                B                  312
                C                  119
a2              A                  899
                B                   27
                C                   26
...          

每个Unique_ID有三个子类别ABC ,每个子类别都有一个计数。 有一种方法可以“展开”这个数据框,以便子类别是列,并且计数是有效的。 这就是我想要的:

Unique_ID       Subcategory_A      Subcategory_B      Subcategory_C
a1              10440              312                119
a2              899                27                 26

怎么做到这一点?

使用unstack ,然后再删除的顶层MultiIndexdroplevel和最后add_prefix

df1 = df.unstack()
df1.columns = df1.columns.droplevel(0)
df1 = df1.add_prefix('Subcategory_')
print (df1)
Subcategory  Subcategory_A  Subcategory_B  Subcategory_C
Unique_ID                                               
a1                   10440            312            119
a2                     899             27             26

如果需要重置索引并删除列名:

df1 = df.unstack()
df1.columns = df1.columns.droplevel(0)
df1 = df1.add_prefix('Subcategory_')
         .reset_index()
         .rename_axis(None, axis=1)
print (df1)
  Unique_ID  Subcategory_A  Subcategory_B  Subcategory_C
0        a1          10440            312            119
1        a2            899             27             26

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM