【问题标题】:Python Dataframe Filtering with ConditionsPython 数据框过滤条件
【发布时间】:2019-10-24 21:03:29
【问题描述】:

我的输入数据框;

Stock  PO      Order_test  Order
50     50      10          0
50     20      10          7
10     5       3           3
100    80      5           4

我想用这段代码过滤;

a= df[(df['Stock'] - df['PO'])>(df['Order_Test']) & (df['Order_Test'])>(df['Order'])]

但我得到了这个;

ValueError:Series 的真值不明确。使用a.empty, a.bool()、a.item()、a.any() 或 a.all()。

期望的输出是;

   Stock  PO      Order_test  Order
   50     20      10          7
   100    80      5           4

你能帮我解决这个问题吗?

【问题讨论】:

    标签: python pandas dataframe filter


    【解决方案1】:

    你很接近,只删除一些()以包含两个条件:

    df = df[(df['Stock'] - df['PO']>df['Order_test']) & (df['Order_test']>df['Order'])]
            ^                                       ^   ^                            ^
          start                                    end start                        end   
    
    print (df)
       Stock  PO  Order_test  Order
    1     50  20          10      7
    3    100  80           5      4
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-18
      • 2021-12-13
      • 1970-01-01
      • 2019-09-02
      • 2017-11-20
      • 2020-05-02
      • 2012-12-21
      • 2018-07-02
      相关资源
      最近更新 更多