【问题标题】:interpreting a string to do and/or combinations of dataframe masks解释要执行的字符串和/或数据框掩码的组合
【发布时间】:2017-08-16 15:41:57
【问题描述】:

我不确定从哪里开始。我知道我可以像这样对掩码进行按位逻辑组合:(mask1 & mask2) | mask3 | (mask4 & (mask5 | mask6))

现在,如果我让用户输入一个字符串,例如:'(criteria1 & criteria2) | criteria3 | (criteria4 & (criteria5 | criteria6))',但需要通过函数解释每个条件以确定并返回掩码,我如何保留括号和逻辑,然后组合掩码?

【问题讨论】:

    标签: python dataframe logical-operators interpretation


    【解决方案1】:

    经过一些工作,我能够使用正则表达式和eval() 做到这一点。

    使用正则表达式,我提取了“模板”和“标准”。 “模板”类似于1 & 2 | (3 & 4 & (5 or 6)),相关的“标准”类似于['criteria1', 'criteria2', ..., 'criteria6']。然后我可以随心所欲地操纵标准,然后将操纵的值替换回模板字符串。最后,我可以运行eval(template) 或要执行的最终字符串的任何名称。

    【讨论】:

      猜你喜欢
      • 2011-07-16
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 2012-11-02
      相关资源
      最近更新 更多