我有一个pandas DataFrame,我对列CAPSULE_TEXT
特别感兴趣,前30行恰好具有相同的值:
visit_names['CAPSULE_TEXT'][:30]
0 宅配
1 宅配
2 宅配
3 宅配
4 宅配
5 宅配
6 宅配
7 宅配
8 宅配
9 宅配
10 宅配
11 宅配
12 宅配
13 宅配
14 宅配
15 宅配
16 宅配
17 宅配
18 宅配
19 宅配
20 宅配
21 宅配
22 宅配
23 宅配
24 宅配
25 宅配
26 宅配
27 宅配
28 宅配
29 宅配
此外,如果我将它们转换为bytearrays并按字节比较,它们仍然相等(因此没有额外的空格或任何unicode隐藏的魔法)。
我有另一个名为coupon_test
的数据框,我想过滤我的第一个数据帧(visit_names
),只保留第二个数据帧中存在的值。为此,我正在构建以下过滤器:
visit_names[['CAPSULE_TEXT']].isin(coupon_test[['CAPSULE_TEXT']])
然后我打算用它来过滤visit_names
。但是,它生成的Series对前30个元素具有不同的值:
0 False
1 False
2 False
3 False
4 False
5 False
6 False
7 False
8 False
9 False
10 False
11 False
12 False
13 False
14 False
15 False
16 False
17 False
18 False
19 False
20 False
21 False
22 False
23 True
24 True
25 True
26 False
27 False
28 True
29 True
价值"宅配"实际上存在于coupon_test
中。我的问题是为什么会出现这种情况? isin
生成的系列的顺序是否与原始数据框的顺序不同?或者我以错误的方式使用isin
?