2016-06-15 26 views
0

我對SQLalchemy和pandas都是新手。我正在寫一個python代碼來查詢一個mysql數據庫。Pandas SQLalchemy:數據庫列上的複雜篩選器

我從數據庫中提取數據並將數據保存在熊貓數據框中。我可以在熊貓數據框列上進行簡單操作,如

示例1:獲取所有列都有一些值的行[Col1 and Col2 and Col3]

示例2:獲取其中任一列具有某些值的行[Col1 or Col2 or Col3]

實施例3:[Col1 or Col2][Col3 or Col4]

這是我可以用熊貓dataframe[col_list].notnull().any(axis=1)操作實現的目標。現在我必須做一些複雜的說明,如[[Col1 OR Col2] AND [Col3 OR Col4]] OR [Col5 OR Col6]。這些統計信息由用戶提供,作爲腳本的輸入。

我想知道是否有更直接的方式來做到這一點(直接作爲邏輯陳述)或直接與sqlalchemy查詢?

感謝,

Rtut

回答

0

隨着熊貓,你可以使用boolean indexing來過濾數據幀。例如,你可以做類似

filtered = df[(df['Column 1'] == 'some value') or (df['Column 2'] == 'some value') and (df['Column 3'] > 15)]