(熊猫)我要加计数,groupby的百分比

时间:2020-05-20 07:41:16

标签: python pandas pandas-groupby

我要做路csv文件并将csv文件中的2个标头分组,所以我想 彼此计数大约1个标头值和百分比计数/总计并相加 数据框

test.csv中有很多数据

==example==
country city   name
KOREA   busan  Kim
KOREA   busan  choi
KOREA   Seoul  park
USA     LA     Jane
Spain   Madrid Torres
(name is not overlap)
==========

csv_file = pd.read_csv("test.csv")
need_group = csv_file.groupby(['category','city names'])

返回

                               country                                   city names                                                  
0                              KOREA                                   Seoul, Busan, ...
1                              KOREA                                   Daegu, Seoul
2                              USA                                     LA, New York...
2                              USA                                     LA, ...

想要 -计数是cf名称的

                               country                                 city names         count   percent                                               
0                              KOREA                                   Seoul                2       20%
1                              KOREA                                   Daegu                1       10%
2                              USA                                     LA                   2       20%
3                              USA                                     New York             1       10%
4                              Spain                                   Madrid               4       40%

1 个答案:

答案 0 :(得分:1)

我相信您需要将countryname的数量乘以GroupBy.size,然后将百分比除以DataFrame的长度:

print (csv_file)
  country    city    name
0   KOREA   busan     Kim
1   KOREA   busan   Dongs
2   KOREA   Seoul    park
3     USA      LA    Jane
4   Spain  Madrid  Torres

df = csv_file.groupby(['country','city']).size().reset_index(name='count')
df['percent'] = df['count'].div(df['count'].sum()).mul(100)
相关问题