Python 如果在列表中的给定列中找到字符串匹配项,则获取另一列的单元格值

Python 如果在列表中的给定列中找到字符串匹配项,则获取另一列的单元格值,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我正在使用pandas对csv文件执行字符串操作。如果在特定列中发现字符串匹配,我希望从另一列检索单元格的值 s1='a b' a=['ab','bc','cd','gh'] b=['a b','cd','ef',''] df = pd.DataFrame({'a':a}) df['b']=b if((df['a']==s1).any()): print("s1 exists") elif: (df['b']==s1).any()) I want to get the

我正在使用pandas对csv文件执行字符串操作。如果在特定列中发现字符串匹配,我希望从另一列检索单元格的值

s1='a b'
a=['ab','bc','cd','gh']
b=['a b','cd','ef','']
df = pd.DataFrame({'a':a})
df['b']=b


if((df['a']==s1).any()):
    print("s1 exists") 
elif:
   (df['b']==s1).any())

   I want to get the cell value from df['a'] corresponding to the matching row in df['b'] i.e I expect to get the value 'ab' from df['a']

我不知道该怎么做。谢谢

我想这就是你想要的:使用。请让我知道这是否澄清了您的疑问

if((df['a']==s1).any()):
    print("s1 exists in a") 
elif (df['b']==s1).any():
    print(df['a'][df.index[df['b']==s1].tolist()[0]])

上面这个例子的预期输出是什么?
df[df.b==s1]。a
@ATL我希望从df['a']@abhilb获得'ab',这也行得通。但桑米特给出的答案是完整的。所以我接受了它作为答案。谢谢@SammitR,我得到的输出是0 ab Name:a,dtype:object,我只想要ab作为输出,请现在检查@希德