DataFrame:
category value
A 25
B 10
A 15
B 28
A 18
Need to Select rows where following conditions are satisfied,
1. category=A
and value between 10 and 20
2. categories other than A
I think you need boolean indexing
:
df1 = df[(df['category'] == 'A') & (df['value'].between(10,20))]
print (df1)
category value
2 A 15
4 A 18
And then:
df2 = df[(df['category'] != 'A') & (df['value'].between(10,20))]
print (df2)
category value
1 B 10
Or:
df3 = df[df['category'] != 'A']
print (df3)
category value
1 B 10
3 B 28
EDIT: Join both conditions with |
for or
, dont forget add ()
to first conditions.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With