Python 3.x 统计大熊猫不同的出现次数
我有一个熊猫数据框,有两列,名字和车,一个城市所有的每辆车Python 3.x 统计大熊猫不同的出现次数,python-3.x,pandas,count,Python 3.x,Pandas,Count,我有一个熊猫数据框,有两列,名字和车,一个城市所有的每辆车 Name Car 0 Alice Toyota 1 Bob Nissan 2 Charlie Toyota 3 Dave Ford 4 Eve Nissan 5 Bob Ford 我想做一个汇总表 Name Toyota Nissan Ford 0 Alice 1 0 1 1 Bob 0 1 0 2 Cha
Name Car
0 Alice Toyota
1 Bob Nissan
2 Charlie Toyota
3 Dave Ford
4 Eve Nissan
5 Bob Ford
我想做一个汇总表
Name Toyota Nissan Ford
0 Alice 1 0 1
1 Bob 0 1 0
2 Charlie 1 0 0
3 Dave 0 0 1
4 Eve 0 1 0
我一直在尝试groupby、count、apply、transform,但我对这个游戏太陌生了
实际上,品牌是有编号的,最好有一种方法将它们作为一个系列来处理,例如,将整行作为一个系列来处理。非常感谢您的帮助。请使用此功能:
In [30]: df.pivot_table(index=['Name'], columns=['Car'], aggfunc=len, fill_value=0)
Out[30]:
Car Ford Nissan Toyota
Name
Alice 0 0 1
Bob 1 1 0
Charlie 0 0 1
Dave 1 0 0
Eve 0 1 0
或者,如果您不想将名称
作为索引:
In [31]: df.pivot_table(index=['Name'], columns=['Car'], aggfunc=len, fill_value=0).reset_index()
Out[31]:
Car Name Ford Nissan Toyota
0 Alice 0 0 1
1 Bob 1 1 0
2 Charlie 0 0 1
3 Dave 1 0 0
4 Eve 0 1 0
或者,如果您只想要一个布尔矩阵,请使用get\u dummies()
-它不会计算重复项:
In [33]: pd.get_dummies(df.set_index('Name'))
Out[33]:
Car_Ford Car_Nissan Car_Toyota
Name
Alice 0.0 0.0 1.0
Bob 0.0 1.0 0.0
Charlie 0.0 0.0 1.0
Dave 1.0 0.0 0.0
Eve 0.0 1.0 0.0
Bob 1.0 0.0 0.0
这就是数据透视表!感到尴尬:-/谢谢!