【发布时间】:2021-08-10 02:46:43
【问题描述】:
假设我们有这样的数据框
import pandas as pd
dataFrame = pd.DataFrame({'Name': [' RACHEL ', ' MONICA ', ' PHOEBE ',
' ROSS ', 'CHANDLER', ' JOEY '],
'Age val': [30, 35, 37, 33, 34, 30],
'Salary val': [100000, 93000, 88000, 120000, 94000, 95000],
'JOB': ['DESIGNER', 'CHEF', 'MASUS', 'PALENTOLOGY',
'IT', 'ARTIST']})
并拥有包含过滤条件的 csv 文件
我想遍历 csv 文件并将“和”条件放在“过滤公式”行值之间。将它们连接并解析为pandasdataframe。
filters = ''
for i, cols in csv_file.iterrows():
formula = cols['Filter_Formula']
filters = filters.join(formula + "&")
print(filters)
当我打印“过滤器”时,我得到了
ASalary val<= 100000&gSalary val<= 100000&eSalary val<= 100000& Salary val<= 100000&vSalary val<= 100000&aSalary val<= 100000&lSalary val<= 100000& Salary val<= 100000&>Salary val<= 100000& Salary val<= 100000&3Salary val<= 100000&5Salary val<= 100000&&
但我想得到的是
dataFrame= dataFrame[dataFrame.eval(filters)]
filters 在哪里
"Salary val <=100000 & (Age val > 35"
我该怎么做? 谢谢
【问题讨论】: