繁体   English   中英

在Python熊猫数据框中对唯一值进行分组和计数

[英]Group and count unique values in Python pandas dataframe

我有一个超过33,000行的数据框,我想简化一下:

                   Crime type
GeographyCode                              
E01006687          Burglary
E01007229          Anti-social behaviour
E01007229          Anti-social behaviour
E01007229          Anti-social behaviour
E01007229          Burglary
E01007229          Other theft
E01007229          Other theft
E01007229          Shoplifting
E01007229          Theft from the person
E01007230          Anti-social behaviour
E01007230          Anti-social behaviour
E01007230          Anti-social behaviour
E01007230          Anti-social behaviour
E01007230          Anti-social behaviour
E01007230          Anti-social behaviour
...

“地理代码”有207个唯一值,“犯罪类型”有12个唯一值。

我想制作一个新的数据框,其中包含207行和12列以及'GeographyCode'索引列,每列代表一种犯罪类型,并在GeographyCode中包含该犯罪类型的所有发生次数。

像这样:

                Burglary   Anti-social    Theft   Shoplifting   etc...
GeographyCode
E01006687       1          3              9       5             ...
E01007229       1          3              2       1             ...
E01007230       0          6              12      5             ...
...

我已经尝试了一些方法,但是由于没有数字值,因此我很难获得所需的信息。

您可以使用crosstab来计算:

>>> pd.crosstab(df.index, df['Crime type'])
Crime type      Anti-social behaviour  Burglary  Other theft  Shoplifting  ...

E01006687                           0         1            0            0
E01007229                           3         1            2            1
E01007230                           6         0            0            0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM