我想将带有DataFrameMultiIndex的“类别”索引转换为多列,每列保存它们之前所属的行的值。
我的索引列是IndexCountry

 Index      Country   Count
     0      'Canada'     10
             'Italy'     20
     1   'Indonesia'      5
            'Canada'      2
     2       'Italy'     14


至:

   Canada  Indonesia  Italy
0      10          0     20
1       2          5      0
2       0          0     14


它非常接近get_dummies函数,但是我需要将计数值保持在正确的位置。

最佳答案

如果在DataFrame中有MultiIndex列,请在Series.unstack中选择一列:

df1 = df['Count'].unstack(fill_value=0)
print (df1)
Country  'Canada'  'Indonesia'  'Italy'
Index
0              10            0       20
1               2            5        0
2               0            0       14


如果MultiIndex Series

df1 = s.unstack(fill_value=0)

10-07 20:23