Select 或根据条件删除类别
Select or drop categories based on condition
我有这个示例数据集:
我想做的是查看 ID 列中哪些类别的值严格高于 45,同时向我显示其他类别的值。所以它应该告诉我 ID 'a' 和 'd' 符合我的标准,而 'b' 和 'c' 不在其中。之后,我将删除行 'b' 和 'c'
最简单的方法是什么?
我试过了
def filter_func(x):
return x['vals']>45
df.groupby('id').filter(filter_func)
df['id'].unique()
but I get this error:
filter function returned a Series, but expected a scalar bool
你可以这样试试:
df2 = df.groupby('id').min().reset_index()
df2.loc[df2['vals'] > 45]['id']
我有这个示例数据集:
我想做的是查看 ID 列中哪些类别的值严格高于 45,同时向我显示其他类别的值。所以它应该告诉我 ID 'a' 和 'd' 符合我的标准,而 'b' 和 'c' 不在其中。之后,我将删除行 'b' 和 'c'
最简单的方法是什么?
我试过了
def filter_func(x):
return x['vals']>45
df.groupby('id').filter(filter_func)
df['id'].unique()
but I get this error:
filter function returned a Series, but expected a scalar bool
你可以这样试试:
df2 = df.groupby('id').min().reset_index()
df2.loc[df2['vals'] > 45]['id']