【问题标题】:Update Pandas df Given String Query更新 Pandas df 给定字符串查询
【发布时间】:2020-09-10 17:45:24
【问题描述】:

由于用户在界面中引入的数据,我有一个类似查询的字符串。

query = '(ColA=="7") & (ColB=="3") & (ColC=="alpha") & (ColD=="yu")'

现在我想根据这些条件更新 df 的一列,为其分配一个变量 Z。

我不知道用loc是否可以做到这一点

df.loc[query, 'ColZ'] = Z

【问题讨论】:

    标签: python pandas pandas-loc


    【解决方案1】:

    是的,可以通过query 完成

    df.query(query)['ColZ']
    

    更新

    df.loc[df.query(query).index(),'ColZ']=Z
    

    【讨论】:

      【解决方案2】:

      我自己解决了:

      df.loc[df.eval(query), 'ColZ'] = Z
      

      https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.eval.html

      【讨论】:

        猜你喜欢
        • 2022-11-04
        • 1970-01-01
        • 2017-09-16
        • 2020-04-18
        • 2020-01-11
        • 1970-01-01
        • 1970-01-01
        • 2021-11-11
        • 1970-01-01
        相关资源
        最近更新 更多