当前位置:  开发笔记 > 编程语言 > 正文

Pandas:当组中的值满足所需条件时,从数据中删除组

如何解决《Pandas:当组中的值满足所需条件时,从数据中删除组》经验,为你挑选了2个好方法。



1> 2342G456DI8..:

根据您在问题中描述的内容,只要组内至少有一个值低于8,就应删除该组.因此,等效声明是,只要该组中的最小值低于8,就应该删除该组.

通过使用过滤器功能,实际代码可以减少到只有一行,请参考过滤,您可以使用以下代码:

dfnew = df.groupby('Groups').filter(lambda x: x['Count'].min()>8 )
dfnew.reset_index(drop=True, inplace=True) # reset index
dfnew = dfnew[['Groups','Count']] # rearrange the column sequence
print(dfnew)

Output:
   Groups  Count
0       2     12
1       2     15
2       2     21



2> jezrael..:

您可以使用isinlocunique与反转掩码选择子集。最后,您可以reset_index

print df

  Groups  Count
0       1      7
1       1     11
2       1      9
3       2     12
4       2     15
5       2     21

print df.loc[df['Count'] < 8, 'Groups'].unique()
[1]

print ~df['Groups'].isin(df.loc[df['Count'] < 8, 'Groups'].unique())

0    False
1    False
2    False
3     True
4     True
5     True
Name: Groups, dtype: bool

df1 = df[~df['Groups'].isin(df.loc[df['Count'] < 8, 'Groups'].unique())]
print df1.reset_index(drop=True)

   Groups  Count
0       2     12
1       2     15
2       2     21

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有