将名称设置为Pandas中的groupby size列

qybjjes1  于 2022-12-02  发布在  其他
关注(0)|答案(2)|浏览(149)

我有一个数据框,需要计算某行的唯一项。在下面的示例中,我希望将下面的函数名称标记为“NUM_CIK”。为groupby列指定名称的最佳方法是什么?
当前代码:

cik_groupby_cusip_occur = cik_groupby_cusip_occur.groupby(
        ['CUSIP'], sort=True)['CIK COMPANY'].size().sort_values(ascending=False)

示例输出:

CUSIP
594918104    4560
037833100    4457
023135106    4053
02079K305    3545
478160104    3472
  • 所需输出:*
CUSIP       NUM_CIK
594918104    4560
037833100    4457
023135106    4053
02079K305    3545
478160104    3472
bmp9r5qi

bmp9r5qi1#

Series.reset_indexname参数一起使用:

(cik_groupby_cusip_occur = cik_groupby_cusip_occur
         .groupby('CUSIP')['CIK COMPANY']
         .size()
         .sort_values(ascending=False)
         .reset_index(name='NUM_CIK'))

或者Series.value_counts

cik_groupby_cusip_occur = (cik_groupby_cusip_occur['CUSIP']
            .value_counts()
            .rename_axis('CUSIP')
            .reset_index(name='NUM_CIK'))
ma8fv8wu

ma8fv8wu2#

使用reset_index(name='NUM_CIK')
或者:

cik_groupby_cusip_occur = (cik_groupby_cusip_occur
 .groupby(['CUSIP'], sort=True)['CIK COMPANY']
 .agg(NUM_CIK='size')
 .sort_values(by='NUM_CIK', ascending=False)
)

相关问题