【问题标题】:Pandas SQLalchemy: complex filter on database columnsPandas SQLalchemy:数据库列的复杂过滤器
【发布时间】:2016-06-15 18:30:40
【问题描述】:

我是 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 查询?

谢谢,

转

【问题讨论】:

    标签: python mysql pandas sqlalchemy


    【解决方案1】:

    使用 pandas,您可以使用 boolean indexing 过滤您的数据框。例如,您可以执行以下操作

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

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 2021-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多