简体   繁体   English

Python Dataframe 过滤条件

[英]Python Dataframe Filtering with Conditions

My input dataframe;我的输入 dataframe;

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

I want to filter the with this code;我想用这段代码过滤;

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

But i got this;但我得到了这个;

ValueError: The truth value of a Series is ambiguous. ValueError:Series 的真值不明确。 Use a.empty, a.bool(), a.item(), a.any() or a.all().使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

Desired output is;所需的 output 是;

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

Could you please help me about this?你能帮我解决这个问题吗?

You are close, only remove some () for enclose both conditions:你很接近,只删除一些()来包含两个条件:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM