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

这就是数据透视表!感到尴尬:-/谢谢!