Python 熊猫";如果X不在数据帧中;总是扔假货
我有一个简单的应用程序,提示输入客户ID。该应用程序使用输入执行SQL语句,然后将结果集转换为数据帧 然后检查所提供的ID是否存在于数据帧中;但是,即使ID确实存在,它也总是返回false。打印输入和数据框可确认输入的ID和数据框中的ID相同,列名也正确Python 熊猫";如果X不在数据帧中;总是扔假货,python,pandas,Python,Pandas,我有一个简单的应用程序,提示输入客户ID。该应用程序使用输入执行SQL语句,然后将结果集转换为数据帧 然后检查所提供的ID是否存在于数据帧中;但是,即使ID确实存在,它也总是返回false。打印输入和数据框可确认输入的ID和数据框中的ID相同,列名也正确 while True: customer_id = input("Insert an existing Customer ID") print(df) print(customer_id) c
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.isin()
这回答了你的问题吗?嗨@Dasph,欢迎来到SO。上面的链接(自动生成的bc Anderson将此问题标记为重复)回答了您的问题。在您的代码中,
In
只是检查customer\u id
是否在该系列的索引中。查看链接了解更多信息。
import numpy as np
customer_id = input("Insert an existing Customer ID") #A1
sample= np.isin(customer_id, item2)
print(sample) # returns True