Q is similar to this: use a list of values to select rows from a pandas dataframe
I want to dataframe if either value in two columns are in a list. Return both columns (combine results of #1 and #4.
import numpy as np
from pandas import *
d = {'one' : [1., 2., 3., 4] ,'two' : [5., 6., 7., 8.],'three' : [9., 16., 17., 18.]}
df = DataFrame(d)
print df
checkList = [1,7]
print df[df.one == 1 ]#1
print df[df.one == 7 ]#2
print df[df.two == 1 ]#3
print df[df.two == 7 ]#4
#print df[df.one == 1 or df.two ==7]
print df[df.one.isin(checkList)]
To select a single value from the DataFrame, you can do the following. You can use slicing to select a particular column. To select rows and columns simultaneously, you need to understand the use of comma in the square brackets.
You nearly had it, but you have to use the "bitwise or" operator:
In [6]: df[(df.one == 1) | (df.two == 7)]
Out[6]:
one three two
0 1 9 5
2 3 17 7
In [7]: df[(df.one.isin(checkList)) | (df.two.isin(checkList))]
Out[7]:
one three two
0 1 9 5
2 3 17 7
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