Example: df = df[df.Number = 1]
I want to filter rows for a specific list of numbers. For example:
1,2,3,4,5,6,7,8,9
I tried
df3 = df[df.Number == "01"or"02"]
Can I use a list after  df3 = df[df.Number == __] ?
Example: df = df[df.Number = 1]
I want to filter rows for a specific list of numbers. For example:
1,2,3,4,5,6,7,8,9
I tried
df3 = df[df.Number == "01"or"02"]
Can I use a list after  df3 = df[df.Number == __] ?
 
    
     
    
    Your question is not clear and looks incoherent, but I suppose you should use a for loop, e.g.:
df3 = [df[index] for index in (2, 3)]
This is equivalent to:
df3 = [df[2], df[3]]
 
    
    Yes, you can. Filter df which is contains 1 or 2:
df[(df.Number == 1) | (df.Number == 2)] # output : 1, 2
Filter df which is not contains 1 and 2:
df[~((df.Number == 1) | (df.Number == 2))] # output : 3, 4, 5, 6, 7, 8, 9
 
    
    isin is an efficient method of filtering according to numbers in a list:
import pandas as pd
df = df = pd.DataFrame(data={"Number":[1,2,3,4,5,6,7,8,9]})
print(df[df.Number.isin([2,3])])
returns:
   Number
1       2
2       3
 
    
    This is what the .isin() method is for.
df = pd.DataFrame(np.random.randint(0, 5, (5)), columns=['Number'])
df
   Number
0       0
1       0
2       2
3       2
4       0
df[df.Number.isin([1,2])]
   Number
2       2
3       2
If you want to exclude the selection, you just need to invert the selection:
df[~df.Number.isin([1,2])]
   Number
0       0
1       0
4       0
