DataFrame:
category value
A 25
B 10
A 15
B 28
A 18
需要选择满足以下条件的行:
1.
category=A
并且值在10到20之间2. 除A以外的其他类别。
我认为你需要使用布尔索引
:
df1 = df[(df['category'] == 'A') & (df['value'].between(10,20))]
print (df1)
category value
2 A 15
4 A 18
然后:
df2 = df[(df['category'] != 'A') & (df['value'].between(10,20))]
print (df2)
category value
1 B 10
或者:
df3 = df[df['category'] != 'A']
print (df3)
category value
1 B 10
3 B 28
编辑:使用|
将两个条件连接起来,表示或
,不要忘记在第一个条件上加上()
。
df1 = df[((df['category'] == 'A') & (df['value'].between(10,20))) |
(df['category'] != 'A')]
print (df1)
category value
1 B 10
2 A 15
3 B 28
4 A 18
|
,但第一个条件需要再加一个()
。 - jezrael