[英]Count unique values in multiple columns according by group (pandas dataframe)
[英]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.