我是SQLalchemy和pandas的新手。我正在编写一个python代码来查询mysql数据库。
我从数据库中获取数据并将数据保存在pandas数据帧中。我可以在pandas数据帧列上进行简单的操作,比如
示例1:获取所有列都具有某些值[Col1 and Col2 and Col3]
。
示例2:获取其中任一列具有某些值[Col1 or Col2 or Col3]
。
示例3:[Col1 or Col2]
和[Col3 or Col4]
。
这是我到目前为止用pandas dataframe[col_list].notnull().any(axis=1)
操作可以实现的。现在我必须做一些复杂的语句,如[[Col1 OR Col2] AND [Col3 OR Col4]] OR [Col5 OR Col6]
。这些语句由用户提供,作为脚本的输入。
我想知道是否有一种更为有效的方法(直接作为逻辑陈述)或直接使用sqlalchemy查询?
谢谢,
Rtut
答案 0 :(得分:0)
使用pandas,您可以使用boolean indexing过滤数据框。例如,您可以执行
之类的操作filtered = df[(df['Column 1'] == 'some value') or (df['Column 2'] == 'some value') and (df['Column 3'] > 15)]