对pandas中的DataFrame进行条件筛选,即筛选出符合条件的数据条;这里经常会遇到以下几种情况,下面举例说明:
1 df = pd.DataFrame({'A':[100, 200, 300, 400, 500],
'B':['a', 'b', 'c', 'd', 'e'],
'C':[1, 2, 3, 4, 5]})
2 df
A B C
0 100 a 1
1 200 b 2
2 300 c 3
3 400 d 4
4 500 e 5
(1)找出df中A列值为100的所有数据
1 df[df.A==100]
A B C
0 100 a 1
这里也可以是小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、不等于(!=)等情况。
(2)找出df中A列值为100、200、300的所有数据
1 num = [100, 200, 300]
2 df[df.A.isin(num)] #筛选出A列值在num列表的数据条
A B C
0 100 a 1
1 200 b 2
2 300 c 3
(3)找出df中A列值为100
且
B列值为‘a’的所有数据
1 df[(df.A==100)&(df.B=='a')]
A B C
0 100 a 1
(4)
找出df中A列值为100
或
B列值为‘b’的所有数据
1 df[(df.A==100)|(df.B=='b')]
A B C
0 100 a 1
1 200 b 2
这里需要注意的是,多条件筛选的时候,必须加括号'()'。