熊猫"if X not in DataFrame"总是抛出虚假



我有一个简单的应用程序,它会提示输入客户ID。该应用程序使用输入执行SQL语句,然后将结果集转换为数据帧。

然后我检查所提供的ID是否存在于数据帧中;然而,即使ID确实存在,它也总是返回false。打印输入和数据帧可以确认输入的ID和数据帧中的ID是相同的,并且列名也是正确的。

while True:
customer_id = input("Insert an existing Customer ID")
print(df)
print(customer_id)
customer_exists = customer_id in df.ID
print(customer_exists)
if not customer_exists:
retry = input("No such customer. Try again? Y/N")
if retry.upper() == 'Y':
continue
else:
return None
else:
break

输出:

#The prompt
Insert an existing Customer ID: A1
#The dataframe
ID  FNAME MNAME    LNAME  ADDRESS1 CUSTOMER_TYPE
0  A1  HELGA  None  PATHAKI  MICHIGAN        BRONZE
#The ID that was input by the user
A1
#the boolean result
False

这是怎么回事?

根据数据量的不同,我建议您使用np.isi((

import numpy as np
customer_id = input("Insert an existing Customer ID") #A1
sample= np.isin(customer_id, item2)
print(sample) # returns True

最新更新