Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在数据帧的列中查找匹配值_Python_Pandas_Dataframe - Fatal编程技术网

Python 在数据帧的列中查找匹配值

Python 在数据帧的列中查找匹配值,python,pandas,dataframe,Python,Pandas,Dataframe,我想比较两个df的列 条件=如果DF2中的df1值->执行某些操作 我使用了np.where,但我正确理解的这种方法只比较具有相同行索引的值 所以 不适合我的情况 我测试了一个标准的循环比较 for i in df_main['Nachname']: if i == df_third['Name']: print("true") else: print("false") 这返回了一个值错

我想比较两个df的列
条件=如果DF2中的df1值->执行某些操作

我使用了
np.where
,但我正确理解的这种方法只比较具有相同行索引的值 所以

不适合我的情况

我测试了一个标准的循环比较

for i in df_main['Nachname']:
    if i == df_third['Name']:
        print("true")
    else:
        print("false")
        
这返回了一个
值错误:使用a.empty、a.bool()、a.item()、a.any()或a.all()
在测试了这些方法之后,我找不到它们的用处。


对于这种情况,肯定有一种方法,但我到目前为止还没有找到它

在第二行中用“in”替换“==”。让我知道它是否有效

for i in df_main['Nachname']:
    if i in df_third['Name']:
        print("true")
    else:
        print("false")

将第二行中的“==”替换为“in”。让我知道它是否有效

for i in df_main['Nachname']:
    if i in df_third['Name']:
        print("true")
    else:
        print("false")
试一试

试一试


谢谢,我已经试过了,但不起作用,它总是给我一个“假”的感觉。您确定这两列之间至少有一个公共元素吗?检查数据的类型(例如字符串而不是数字)或使用空格标记的值,我已经尝试过了,但不起作用,它总是给我“false”作为返回值。您确定这两列之间至少有一个公共元素吗?检查数据的类型(例如字符串而不是数字)或带有空格的值
df_main['matching'] = df_main['Surname'].isin(df_third['Name'])