df = pd.DataFrame({'gender':list('MMMFFF'),
'height':[4,5,4,5,5,4],
'age':[70,80,90,40,2,3]})
print (df)
gender height age
0 M 4 70
1 M 5 80
2 M 4 90
3 F 5 40
4 F 5 2
5 F 4 3
q = ' & '.join(['{}{}"{}"'.format(i,j,k) if isinstance(k, str)
else '{}{}{}'.format(i,j,k) for i, j, k in zip(column, equal, condition)])
print (q)
height>1.68 & age>20 & gender=="F"
感谢@Yakym Pirozhenko提供更简单的解决方案:
q = ' & '.join(['{}{}{}'.format(i,j,repr(k)) for i, j, k in zip(column, equal, condition)])
print (q)
height>1.68 & age>20 & gender=='F'
df = df.query(q)
print (df)
gender height age
3 F 5 40
我认为需要^{} 作为构建条件,但是需要
if-else
条件来添加""
作为values
中的字符串值:感谢@Yakym Pirozhenko提供更简单的解决方案:
相关问题 更多 >
编程相关推荐