Pandas,添加新的计数列

Pandas, add new column of count

为了让问题更容易理解,我的问题是我想统计一些变量的个数,这里是我的测试代码和输出结果

>>> g = df_data[['COUNTRY', 'STATE', 'CITY']].groupby(
    ['COUNTRY', 'STATE', 'CITY'])['COUNTRY'].count()
>>> g
COUNTRY    STATE     CITY
2          10.0      0.0           56643
                     40.0             18
                     60.0            596
                     nan             131
           11.0      0.0              20
           12.0      0.0               5
           13.0      0.0               7
Name: COUNTRY, dtype: int64

我想要这样的输出

>>> g
COUNTRY    STATE     CITY          COUNT   PERCENT
2          10.0      0.0           56643   56643/number_of_total_record
2          10.0      40.0             18   18/number_of_total_record
2          10.0      60.0            596   ...
2          10.0      nan             131   ...
2          11.0      0.0              20   ...
2          12.0      0.0               5   ...
2          13.0      0.0               7   ...
Name: COUNTRY, dtype: int64

我该怎么做?

我想你想要 reset_index() 方法。

g.reset_index()

看来你需要

df_data[['COUNTRY', 'STATE', 'CITY']].\
     groupby(['COUNTRY', 'STATE', 'CITY']).\
          size().\
            reset_index(name='count')