[英]How do I select rows from a DataFrame based on column values with given conditions?
如何在 python 中应用规则,如果我想要 A、B = 1,2 和 C、D = 3,4 和 E、F = 5,6 并删除剩余的
Type Set
1 A 1
2 B 2
3 B 3
4 C 4
5 D 5
6 A 2
7 F 3
8 F 2
9 E 1
10 D 5
11 E 5
12 C 6
我尝试使用 drop 但它很长
使用多个掩码怎么样:
m1 = df['Type'].isin(['A', 'B'])
m2 = df['Type'].isin(['C', 'D'])
m3 = df['Set'].isin([1, 2])
m4 = df['Set'].isin([3, 4])
out = df.loc[(m1&m3)|(m2&m4)]
或者:
m1 = df['Type'].isin(['A', 'B'])
m2 = df['Type'].isin(['C', 'D'])
m3 = df.loc[m1, 'Set'].isin([1, 2]).reindex(df.index, fill_value=False)
m4 = df.loc[m2, 'Set'].isin([3, 4])
out = df.loc[m3 | m4]
Output:
Type Set
1 A 1
2 B 2
4 C 4
6 A 2
7 C 3
9 B 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.