Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas pands按聚合失败筛选df_Pandas_Pandas Groupby_Aggregate - Fatal编程技术网

Pandas pands按聚合失败筛选df

Pandas pands按聚合失败筛选df,pandas,pandas-groupby,aggregate,Pandas,Pandas Groupby,Aggregate,我的df: 我想过滤那些当它们的总Dif(因此我做了一个groupby)大于3600(1小时,因为Dif是秒)时的盘子,保留它们。否则就丢弃它们 我试过(在这里发了一篇帖子之后): 但我仍然得到大约60个盘子,总数不到3600个: df.groupby('Plate').filter(lambda x: x['Dif'].sum() > 3600) 这件事我已经谈了好几个小时了,我解决不了。任何帮助都将不胜感激。请重新分配 df.groupby('Plate').agg({'Dif':'

我的df:

我想过滤那些当它们的总Dif(因此我做了一个groupby)大于3600(1小时,因为Dif是秒)时的盘子,保留它们。否则就丢弃它们

我试过(在这里发了一篇帖子之后):

但我仍然得到大约60个盘子,总数不到3600个:

df.groupby('Plate').filter(lambda x: x['Dif'].sum() > 3600)
这件事我已经谈了好几个小时了,我解决不了。任何帮助都将不胜感激。

请重新分配

df.groupby('Plate').agg({'Dif':'sum'}).reset_index().nsmallest(60, 'Dif')

        Plate       Dif
952     655NZ035M   268.0
1122    949CH002C   814.0
446     0440220     1318.0
1124    949CH005C   1334.0
1042    698NZ011M   1434.0
1038    697NZ011M   1474.0
1       0010193     1509.0
282     0270302     1513.0
909     614NZ021M   1554.0
156     0140236     1570.0
425     0430092     1577.0
603     0620123     1586.0
510     0530029     1624.0
213     0180682     1651.0
736     0800126     1670.0
然后


哦,是的,真是个错误!非常感谢。
df.groupby('Plate').agg({'Dif':'sum'}).reset_index().nsmallest(60, 'Dif')

        Plate       Dif
952     655NZ035M   268.0
1122    949CH002C   814.0
446     0440220     1318.0
1124    949CH005C   1334.0
1042    698NZ011M   1434.0
1038    697NZ011M   1474.0
1       0010193     1509.0
282     0270302     1513.0
909     614NZ021M   1554.0
156     0140236     1570.0
425     0430092     1577.0
603     0620123     1586.0
510     0530029     1624.0
213     0180682     1651.0
736     0800126     1670.0
df = df.groupby('Plate').filter(lambda x: x['Dif'].sum() > 3600)
df.groupby('Plate').agg({'Dif':'sum'}).reset_index().nsmallest(60, 'Dif')