Скажем, у меня есть DataFrame со столбцом с именем col1. Если я хочу получить все строки, где col1 == ‘a’, я могу сделать это с помощью:
df[df.col1 == ‘a’]
Если мне нужны строки, где col1 — это «a» или «b», я могу сделать:
df[(df.col1 == ‘a’) | (df.col1 == ‘b’)]
Но мне бы очень хотелось сделать что-то (синтаксически незаконное) вроде этого:
df[df.col1 in [‘a’, ‘b’, ‘c’]]
Есть ли правильный способ панд сделать это?
Вот что я использую вместо этого:
sort_func = lambda x: x in [‘a’, ‘b’, ‘c’]
mask = df[‘col1’].apply(sort_func)
df[mask]
Но… есть ли лучший способ сделать это? Это беспокоит меня.