pandas groupby 基于多个大小限制的过滤组
pandas groupby filter groups based on multiple size constraints
我有以下代码来过滤掉大小小于 4 和大于 51 的组。我为此发出了两个语句,我认为这是非常低效的。有没有办法让我说 51 > 'size' > 4
df = df[df.groupby('id',sort=False)['id'].transform('size') > 4]
df = df[df.groupby('id')['id'].transform('size') < 51]
将 Series.between
与 inclusive=False
一起使用:
df[df.groupby('id',sort=False)['id'].transform('size').between(4, 51, inclusive=False)]
我有以下代码来过滤掉大小小于 4 和大于 51 的组。我为此发出了两个语句,我认为这是非常低效的。有没有办法让我说 51 > 'size' > 4
df = df[df.groupby('id',sort=False)['id'].transform('size') > 4]
df = df[df.groupby('id')['id'].transform('size') < 51]
将 Series.between
与 inclusive=False
一起使用:
df[df.groupby('id',sort=False)['id'].transform('size').between(4, 51, inclusive=False)]