Pandas 熊猫-使用pivot_表将1列中的每个唯一元素转换为唯一列
我试图扩展一个dataframe,以便对于一列中的行中的所有唯一元素,每个值都成为其自身的一列 我从一个看起来像这样的数据帧开始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 我想更改数据框,使列成为颜色列
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