Python 数据帧测试有两个条件

Python 数据帧测试有两个条件,python,pandas,Python,Pandas,对于此数据帧 df 如期而至 (df['productCode']) == 23 0 True 1 False 2 False 3 True 4 True 5 False 6 False 7 False 但是如果我想要23和1 (df['productCode']) == 23 & (df['basketID'] == 1) 0 False 1 False 2 False 3 False 4 False

对于此数据帧 df

如期而至

(df['productCode']) == 23
0     True
1    False
2    False
3     True
4     True
5    False
6    False
7    False
但是如果我想要23和1

(df['productCode']) == 23 & (df['basketID'] == 1)
0    False
1    False
2    False
3    False
4    False
5    False
6    False
7    False
一切都是假的。 为什么第一行未被识别?

您需要
23
之后,因为运算符优先级:

(df['productCode'] == 23) & (df['basketID'] == 1)

(df['productCode']==23)|(df['basketID']==1)
也许?请注意,在最后一种情况下,您的第一个右括号位于错误的位置,无论是使用and还是or组合。
(df['productCode'] == 23) & (df['basketID'] == 1)