小编IML*_*MLD的帖子

如何在groupby中求和nlargest()整数

我有这样的数据帧:

    Index STNAME COUNTY COUNTY_POP
      0     AL     0       100
      1     AL     1       150
      2     AL     3       200
      3     AL     5       50
    ...
     15     CA     0       300
     16     CA     1       200
     17     CA     3       250
     18     CA     4       350
Run Code Online (Sandbox Code Playgroud)

我想对每个州的COUNTY_POP中的三个最大整数求和.到目前为止,我有:

    In[]: df.groupby(['STNAME'])['COUNTY_POP'].nlargest(3)
    Out[]:
    Index STNAME COUNTY COUNTY_POP
      0     AL     0       100
      1     AL     1       150
      2     AL     3       200
    ...
     15     CA     0       300
     17     CA     3       250
     18     CA     4       350
Run Code Online (Sandbox Code Playgroud)

但是,当我将.sum()操作添加到上面的代码时,我收到以下输出.

    In[]: df.groupby(['STNAME'])['COUNTY_POP'].nlargest(3).sum()
    Out[]:
    1350
Run Code Online (Sandbox Code Playgroud)

我对Python和Pandas比较陌生.如果有人能解释是什么原因以及如何纠正它,我真的很感激!

python group-by dataframe pandas

5
推荐指数
1
解决办法
661
查看次数

标签 统计

dataframe ×1

group-by ×1

pandas ×1

python ×1