Pandas 熊猫-使用pivot_表将1列中的每个唯一元素转换为唯一列

Pandas 熊猫-使用pivot_表将1列中的每个唯一元素转换为唯一列,pandas,pivot-table,Pandas,Pivot Table,我试图扩展一个dataframe,以便对于一列中的行中的所有唯一元素,每个值都成为其自身的一列 我从一个看起来像这样的数据帧开始 Colour Age Type Count 0 Black 11yrs Cats 22 1 Black 12yrs Cats 2 2 White 8yrs Dogs 10 3 Brown 11yrs Dogs 2 4 White 12yrs Cats 14 我想更改数据框,使列成为颜色列

我试图扩展一个dataframe,以便对于一列中的行中的所有唯一元素,每个值都成为其自身的一列

我从一个看起来像这样的数据帧开始

     Colour Age    Type  Count
0    Black  11yrs  Cats  22
1    Black  12yrs  Cats  2
2    White  8yrs   Dogs  10
3    Brown  11yrs  Dogs  2
4    White  12yrs  Cats  14
我想更改数据框,使列成为颜色列的唯一元素,黑色、白色、棕色-因此它看起来像这样:

    Age    Type   Black  White Brown 
0   11yrs  Cats   22     0     0   
1   12yrs  Cats   2      14     0
2   8yrs  Dogs    0      10    0
3   11yrs  Dogs   0      0     2
我有一些方法,但显然我遗漏了一些东西


非常感谢您的帮助。

您可以使用
透视表
,如下所示:

(df.pivot_table(index=['Age', 'Type'], 
                columns='Colour', 
                values='Count', 
                fill_value=0).reset_index())

Out[22]:
Colour    Age  Type  Black  Brown  White
0       11yrs  Cats     22      0      0
1       11yrs  Dogs      0      2      0
2       12yrs  Cats      2      0     14
3        8yrs  Dogs      0      0     10

设置索引
取消堆栈

(df.set_index(['Age', 'Type', 'Colour']).Count.unstack(fill_value=0)
   .reset_index())

Out[23]:
Colour    Age  Type  Black  Brown  White
0       11yrs  Cats     22      0      0
1       11yrs  Dogs      0      2      0
2       12yrs  Cats      2      0     14
3        8yrs  Dogs      0      0     10