2016-06-15 1 views
0

Я новичок в SQLalchemy и pandas. Я пишу код python для запроса базы данных mysql.Pandas SQLalchemy: сложный фильтр на столбцах базы данных

Я извлекаю данные из базы данных и сохраняю данные в рамке данных 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?

Спасибо,

Ртуть

ответ

0

С пандами, вы можете использовать boolean indexing для фильтрации dataframe. Например, вы можете делать такие вещи, как

filtered = df[(df['Column 1'] == 'some value') or (df['Column 2'] == 'some value') and (df['Column 3'] > 15)] 
Смежные вопросы