我读了一个名为df的csv文件,它有4列(id,技能,..)和30行,我希望程序检查每个id,如果id为“A035755”,则打印其相关技能(j )。我编写了以下程序,它几乎可以工作,但问题是它不止一次迭代,而不是30个结果,我有超过100! 我认为我的索引可能是问题,但不知道如何解决它。
谢谢J
df=pd.read_csv('location')
for i in df.id[0:len(df)]: #id is one of the columns
for j in df.skill: #skill another column
if i == "A035755":
print(j)
else:
print("Not Found")
答案 0 :(得分:1)
如果我理解正确,df的属性(df.id,df.skill)表示列中的列和索引(df.id [1..n])表示行,那么正确的方法如下:
df = pd.read_csv('location')
for index, rec_id in enumerate(df.id): #id is one of the columns
if rec_id == "A035755":
print(df.skill[index])
答案 1 :(得分:0)
所以你可以迭代并引用索引。喜欢这个
for index,value in df.id.items(): #id is one of the columns
if value == "A035755":
print(df.skill[index])
else:
print("Not Found")
或者您可以在records
for record in df:
if record.id == "A035755":
print(record.skill)
else:
print("Not Found")