繁体   English   中英

每月汇总该月每个国家/地区的计数

[英]Sum the count for each countries for that month per month

我有一个 2000 行数据集的列表,列表中有一个国家,然后是它们的计数。 我想通过分解列表并将它们按月、每个月分组在一起来对所有计数求和。

df_grouped=df.pivot_table(index=('month','month_int', 'year'),values='views',aggfunc='max')

count   period_start    year    month_int   month   Countries
1       06/08/2018      2018    6           August  []
1       06/08/2018      2018    6           August  ['Spain', 'Brazil', 'Porgutal', 'France', 'Romania', 'Germany#', 'Norway']
1       06/08/2018      2018    6           August  ['Spain', 'Brazil', 'Porgutal', 'France', 'Romania', 'Germany#', 'Norway']
1       06/08/2018      2018    6           August  ['Porgutal', 'Canada', 'USA', 'Croatia', 'Egypt', 'Netherlands', 'Swizerland', 'Japan']
2       06/08/2018      2018    6           August  ['China', 'India', 'Vietnam']
1       06/08/2018      2018    6           August  ['Indai', ' Pakistan', 'Mongolia']
1       06/08/2018      2018    6           August  ['Indai', ' Pakistan', 'Mongolia']
1       06/08/2018      2018    6           August  ['Indai', ' Pakistan', 'Mongolia']
1       06/08/2018      2018    6           August  []
1       06/08/2018      2018    6           August  ['Germany', 'Spain', 'China', 'USA']
6       06/08/2018      2018    6           August  ['Germany', 'Spain', 'China', 'USA']
1       06/08/2018      2018    6           Sept    ['Germany', 'Spain', 'China', 'USA']
5       06/08/2018      2018    6           Sept    ['Germany', 'Spain', 'China', 'USA']
4       06/08/2018      2018    6           Sept    ['Germany', 'Spain', 'China', 'USA']
....

我不知道如何展开国家主题,总结每行的计数并按国家/地区分组。

使用.explode().groupby() 您需要reset_index()使其成为数据reset_index()并传递name='Countries Count'或任何与Countries不同的名称; 否则,你会得到一个错误,因为列名已经存在:

df = (df.explode('Countries')
      .groupby(['year','month','Countries'])['Countries'].count().reset_index(name='Countries Count'))
df
Out[1]: 
    year   month    Countries  Countries Count
0   2018  August     Pakistan                3
1   2018  August       Brazil                2
2   2018  August       Canada                1
3   2018  August        China                3
4   2018  August      Croatia                1
5   2018  August        Egypt                1
6   2018  August       France                2
7   2018  August      Germany                2
8   2018  August     Germany#                2
9   2018  August        Indai                3
10  2018  August        India                1
11  2018  August        Japan                1
12  2018  August     Mongolia                3
13  2018  August  Netherlands                1
14  2018  August       Norway                2
15  2018  August     Porgutal                3
16  2018  August      Romania                2
17  2018  August        Spain                4
18  2018  August   Swizerland                1
19  2018  August          USA                3
20  2018  August      Vietnam                1
21  2018    Sept        China                3
22  2018    Sept      Germany                3
23  2018    Sept        Spain                3
24  2018    Sept          USA                3

暂无
暂无

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

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