Python 如何查看列表中是否存在dataframe列值
我有一个名为“Ace Code”的数据帧列(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',
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']之间的数据类型不匹配。
请共享您的数据框