将输入值与 Pandas 创建的列列表进行比较
Comparing an inputted value to a column list that has been created by Pandas
我正在使用 Pandas 访问我创建的 CSV 文件。我已经使用 data.name.tolist() 函数创建了一个列表,名为 "IDs",存储了所有用户的 ID 号(目前这些 ID 是 1-6,但以后会变成 5 位数字),什么我想做的是将输入的 ID 号与 ID 列表进行比较,并根据输入的 ID 是否在列表中提供输出。这样做的最佳方法是什么?
干杯
import csv
import pandas
colnames = ['name', 'ID', 'carPass', 'cardLost']
data = pandas.read_csv('info.csv', names = colnames)
IDs = data.ID.tolist()
#Asks the user what their ID Number is
entry = int(input("What is your id number?")).strip()
if entry isin IDs:
print("YES")
else:
print("NO")
编辑:CSV 样本
name,ID,carPass,cardLost
James,1,yes,no
Daniel,2,no,no
Georgia,3,yes,yes
Norman,4,no,no
Tom,5,no,no
Sam,6,yes,no
目前唯一相关的数据是 ID 和 carPass 值。
输入文件info.csv
:
name,ID,carPass,cardLost
dog,34,yes,yes
cat,78,yes,no
bird,45,no,no
lizard,84,no,yes
这应该是一个布尔值,足以找到带有 ID 号的条目。
import pandas as pd
df = pd.read_csv("info.csv")
entry = int(input("What is your id number? "))
if entry in df["ID"].tolist():
print(df[df["ID"] == entry])
else:
print("No entries with that ID number.")
我正在使用 Pandas 访问我创建的 CSV 文件。我已经使用 data.name.tolist() 函数创建了一个列表,名为 "IDs",存储了所有用户的 ID 号(目前这些 ID 是 1-6,但以后会变成 5 位数字),什么我想做的是将输入的 ID 号与 ID 列表进行比较,并根据输入的 ID 是否在列表中提供输出。这样做的最佳方法是什么?
干杯
import csv
import pandas
colnames = ['name', 'ID', 'carPass', 'cardLost']
data = pandas.read_csv('info.csv', names = colnames)
IDs = data.ID.tolist()
#Asks the user what their ID Number is
entry = int(input("What is your id number?")).strip()
if entry isin IDs:
print("YES")
else:
print("NO")
编辑:CSV 样本
name,ID,carPass,cardLost
James,1,yes,no
Daniel,2,no,no
Georgia,3,yes,yes
Norman,4,no,no
Tom,5,no,no
Sam,6,yes,no
目前唯一相关的数据是 ID 和 carPass 值。
输入文件info.csv
:
name,ID,carPass,cardLost
dog,34,yes,yes
cat,78,yes,no
bird,45,no,no
lizard,84,no,yes
这应该是一个布尔值,足以找到带有 ID 号的条目。
import pandas as pd
df = pd.read_csv("info.csv")
entry = int(input("What is your id number? "))
if entry in df["ID"].tolist():
print(df[df["ID"] == entry])
else:
print("No entries with that ID number.")