假设我们有一个f
如下定义的Pandas DataFrame .我正在尝试创建一个掩码来选择列'xx'中值为'a'或'b'的所有行(我想选择第0,1,3,4行).
f = pd.DataFrame([['a', 'b','c','a', 'b','c'],['1', '2','3', '4', '5','6', ]]) f = f.transpose() f.columns = ['xx', 'yy'] f xx yy 0 a 1 1 b 2 2 c 3 3 a 4 4 b 5 5 c 6
在熊猫中有没有优雅的方法呢?我知道用f.xx =='a'选择所有行,我们可以做f [f.xx =='a'].虽然我还没弄清楚如何用f.xx选择行是'a'或'b'.谢谢.
你可以使用isin
print(f[(f["xx"].isin(("a","b")))])
哪个会给你:
xx yy 0 a 1 1 b 2 3 a 4 4 b 5
如果你真的想要一个面具,你可以使用或|
:
mask = (f["xx"] == "a") | (f["xx"] == "b") print(f[mask])
哪个会给你相同的输出:
xx yy 0 a 1 1 b 2 3 a 4 4 b 5