Python 如何查看列表中是否存在dataframe列值

Python 如何查看列表中是否存在dataframe列值,python,pandas,dataframe,data-cleaning,Python,Pandas,Dataframe,Data Cleaning,我有一个名为“Ace Code”的数据帧列(df['Ace Code']),我想检查下表中是否存在每行的列值 codes = ['M6L', 'M8V', 'M9A', 'M9N', 'M2L', 'M4B', 'M4K', 'M4S', 'M5A',\ 'M5J', 'M5R','M6A', 'M6J', 'L4W', 'L5C', 'L5L', 'L3T', 'M2N', \ 'M3M', 'L4T', 'L6R', 'L6Y','L3P', 'M1T',

我有一个名为“Ace Code”的数据帧列(df['Ace Code']),我想检查下表中是否存在每行的列值

codes = ['M6L', 'M8V', 'M9A', 'M9N', 'M2L', 'M4B', 'M4K', 'M4S', 'M5A',\
         'M5J', 'M5R','M6A', 'M6J', 'L4W', 'L5C', 'L5L', 'L3T', 'M2N', \
         'M3M', 'L4T', 'L6R', 'L6Y','L3P', 'M1T', 'M1C', 'M1L', 'L4H',]
我尝试了
df['Ace code'].isin(codes)
,但当我知道事实上存在匹配项时,返回了所有False。我希望在df['Ace Code']旁边有一个新的二进制列,它根据代码列表中是否找到匹配项返回T/F。

您可以这样做-

import pandas as pd

codes = ['M6L', 'M8V', 'M9A', 'M9N', 'M2L', 'M4B', 'M4K', 'M4S', 'M5A',
         'M5J', 'M5R','M6A', 'M6J', 'L4W', 'L5C', 'L5L', 'L3T', 'M2N', 
         'M3M', 'L4T', 'L6R', 'L6Y','L3P', 'M1T', 'M1C', 'M1L', 'L4H',]


other_codes = ['HVH','HKJ','PYU','TRE','QWE']

df = pd.DataFrame(data=codes+other_codes,columns=['Ace Code'])

>>> df['Flag'] = df['Ace Code'].isin(codes)
>>> df
   Ace Code   Flag
0       M6L   True
1       M8V   True
2       M9A   True
3       M9N   True
4       M2L   True
5       M4B   True
6       M4K   True
7       M4S   True
8       M5A   True
9       M5J   True
10      M5R   True
11      M6A   True
12      M6J   True
13      L4W   True
14      L5C   True
15      L5L   True
16      L3T   True
17      M2N   True
18      M3M   True
19      L4T   True
20      L6R   True
21      L6Y   True
22      L3P   True
23      M1T   True
24      M1C   True
25      M1L   True
26      L4H   True
27      HVH  False
28      HKJ  False
29      PYU  False
30      TRE  False
31      QWE  False

请分享样本数据框架为我好。请检查您的数据框。
df['Ace code'].str.strip().isin(codes)
有效吗?可能是
code
df['Ace code']之间的数据类型不匹配。
请共享您的数据框