Python 熊猫,添加新的计数列

Python 熊猫,添加新的计数列,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,为了让问题更容易理解,我的问题是我想计算一些变量的数量,这是我的测试代码和输出 >>> g = df_data[['COUNTRY', 'STATE', 'CITY']].groupby( ['COUNTRY', 'STATE', 'CITY'])['COUNTRY'].count() >>> g COUNTRY STATE CITY 2 10.0 0.0 56643

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

>>> 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\u index()
方法

g.reset_index()
看来你需要

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

您想要与COUNT相同的百分比值吗?@pyd,当然不是。百分比是计数的百分比。请尝试
g[[“国家”,“州”]=g[[“国家”,“州”]]。ffill()