Select Data Frame By Dict Passing In Parameters Or Comprehension List Python Pandas
I want to select rows in a dataframe passing a dict or a comprehension list. I have a data frame with millions rows, I want to create a function to select just a part of this data
Solution 1:
You can use dict
for filtering with DataFrame.all
for check all True
values per row for mask and filter by boolean indexing
.
Also is necessary convert all values of DataFrame
to string
s by astype
, because all values
of dict
are string
s too:
d = {'Brand':'FORD', 'Model':'MUSTANG', 'Bodycar':'Coupé', 'Liter':'3.7', 'Power':'317'}
print (df.astype(str)[list(d)] == pd.Series(d))
Bodycar Brand Liter Model Power
0 True True False True False
1 True True False True False
2 True True False True False
3 True True False True False
4 True True True True True
6 True True False True False
mask = (df.astype(str)[list(d)] == pd.Series(d)).all(axis=1)
print (mask)
0 False
1 False
2 False
3 False
4 True
6 False
dtype: bool
df1 = df[mask]
print (df1)
AGE KM Brand Model Liter Bodycar Power
4 16.0 20700.0 FORD MUSTANG 3.7 Coupé 317
Post a Comment for "Select Data Frame By Dict Passing In Parameters Or Comprehension List Python Pandas"