提问者:小点点

如何检查从熊猫数据框中选择的值是否在列表中?[重复]


看起来很丑:

df_cut = df_new[
             (
             (df_new['l_ext']==31) |
             (df_new['l_ext']==22) |
             (df_new['l_ext']==30) |
             (df_new['l_ext']==25) |
             (df_new['l_ext']==64)
             )
            ]

不工作:

df_cut = df_new[(df_new['l_ext'] in [31, 22, 30, 25, 64])]

对于上述“问题”,是否有一个优雅且可行的解决方案?


共2个答案

匿名用户

使用isin

df_new[df_new['l_ext'].isin([31, 22, 30, 25, 64])]

匿名用户

您可以使用pd. DataFrame.query

select_values = [31, 22, 30, 25, 64]
df_cut = df_new.query('l_ext in @select_values')

在后台,这使用顶级pd. val函数。