如何在python中从数据帧中的列表中迭代搜索变量

如何在python中从数据帧中的列表中迭代搜索变量,python,pandas,dataframe,Python,Pandas,Dataframe,我想编写一个python代码,搜索一行,其中给定列中的列表中有某个字符串,然后返回同一行中不同列中的单元格值 我希望它在一个循环中这样做,在名为“name”的列中搜索列表的每个元素(列表称为“files”),然后在“conv”列中返回同一行的值 for f in files: name = (f[-21:-6]) print(name) print (df.loc[df.names == name,'conv'].values[0]) 我只把这个名字作为一个检查点打印出来,以查看它

我想编写一个python代码,搜索一行,其中给定列中的列表中有某个字符串,然后返回同一行中不同列中的单元格值

我希望它在一个循环中这样做,在名为“name”的列中搜索列表的每个元素(列表称为“files”),然后在“conv”列中返回同一行的值

for f in files:
  name = (f[-21:-6])
  print(name)
  print (df.loc[df.names == name,'conv'].values[0])
我只把这个名字作为一个检查点打印出来,以查看它是否确实通过了列表。没有

print (df.loc[df.names == str(name),'conv'].values[0])'
这个代码有效。添加此行时,我收到一个错误:

索引器错误:索引0超出大小为0的轴0的界限

但是,如果我试图定位一个不是定义为变量而是定义为文本的字符串,那么这一行就行了

i、 e

但这样我就不能让脚本在我的列表中重复读取

我试着在没有“for”循环的情况下检查这个

name =  'A133C002_201014'
print(df.loc[df.names == name,'conv'].values[0])

而且它也不起作用。因此,我假设问题在于搜索参数是可变的,而不是用倒逗号表示的字符串。有什么办法可以解决这个问题吗?

您能添加一个可复制的示例吗?
name =  'A133C002_201014'
print(df.loc[df.names == name,'conv'].values[0])