【问题标题】:output logical series based on multiple conditions pandas输出基于多个条件的逻辑序列 pandas
【发布时间】:2018-08-06 10:23:30
【问题描述】:

我想根据多个条件的评估创建一系列新的逻辑值。

例如

> df = pd.DataFrame({'id':[40, 20, 50, 5, 80], 'value': ['a', 'd', 'g', 'g', 'g']})
​
> df[(df.id > 40) & (df.value.isin(['a', 'g']))]

id  value
2   50  g
4   80  g

但是我想返回一个逻辑系列,即

False 
False 
True 
False 
True

如果可能的话,我想使用 pandas 方法。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    这是你需要的吗?

    (df.id > 40) & (df.value.isin(['a', 'g']))
    Out[2059]: 
    0    False
    1    False
    2     True
    3    False
    4     True
    dtype: bool
    

    【讨论】:

      【解决方案2】:

      只需使用:

      s = (df.id > 40) & (df.value.isin(['a', 'g']))
      print(s)
      

      输出:

      0    False
      1    False
      2     True
      3    False
      4     True
      dtype: bool
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-12
        • 2018-05-05
        • 2016-08-04
        • 2021-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-20
        相关资源
        最近更新 更多