小编Poi*_*XIV的帖子

将min()与groupby一起使用时,保留其他列

我正在使用groupbypandas数据帧删除所有没有特定列的最小行.像这样的东西:

df1 = df.groupby("item", as_index=False)["diff"].min()
Run Code Online (Sandbox Code Playgroud)

但是,如果我有超过这两列,则其他列将被删除.我可以使用groupby保留这些列,还是我必须找到一种不同的方法来删除行?

我的数据如下:

    item    diff   otherstuff
   0   1       2            1
   1   1       1            2
   2   1       3            7
   3   2      -1            0
   4   2       1            3
   5   2       4            9
   6   2      -6            2
   7   3       0            0
   8   3       2            9
Run Code Online (Sandbox Code Playgroud)

并应该最终像:

    item   diff  otherstuff
   0   1      1           2
   1   2     -6           2
   2   3      0           0
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

    item   diff
   0   1      1           
   1   2     -6           
   2   3      0                 
Run Code Online (Sandbox Code Playgroud)

我一直在查看文档,找不到任何东西.我试过了:

df1 = df.groupby(["item", …
Run Code Online (Sandbox Code Playgroud)

python aggregate pandas pandas-groupby

53
推荐指数
2
解决办法
4万
查看次数

标签 统计

aggregate ×1

pandas ×1

pandas-groupby ×1

python ×1