我可以使用布尔索引选择一个子集,如下所示:
df.loc[df['my column'] == 1]
我想做的是用列表替换== 1
,[1, 2]
.
像这样:
df.loc[df['my column'] in [1,2]]
这相当于长 OR 语句。
如何与熊猫很好地做到这一点?
(替代的,非布尔答案也很好)。
使用 isin
测试值列表中的成员身份:
df.loc[df['my column'].isin([1,2])]
例:
In [18]:
df = pd.DataFrame({'a':np.random.randn(5), 'b':np.arange(5)})
df
Out[18]:
a b
0 -0.118930 0
1 -0.129362 1
2 0.822227 2
3 1.781672 3
4 -0.127322 4
In [19]:
df.loc[df['b'].isin([2,4])]
Out[19]:
a b
2 0.822227 2
4 -0.127322 4