看起来很丑:
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])]
对于上述“问题”,是否有一个优雅且可行的解决方案?
使用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
函数。