Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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,我试图比较来自两个不同数据帧的两列,以获得相似的值。这些值是字符串,因此它们不仅相同,而且非常相似。我怎样才能得到这些相似的值 我使用的数据帧如下所示: Dataframe 1, column "Company", row = "Company_name" Dataframe 2, column "Company", row = "Company_name_INC" 我想要的是: Dataframe 3, column "Company_source_1" row = "Company_na

我试图比较来自两个不同
数据帧的两列,以获得相似的值。这些值是字符串,因此它们不仅相同,而且非常相似。我怎样才能得到这些相似的值

我使用的数据帧如下所示:

Dataframe 1, column "Company", row = "Company_name"

Dataframe 2, column "Company", row = "Company_name_INC"
我想要的是:

Dataframe 3, column "Company_source_1" row = "Company_name", column "Company_source_2", row = "Company_name_INC"

我需要找到几乎相同的名称,以便找到出现在两个数据帧中的公司。

您可以使用正则表达式:

正则表达式()可以用于完全满足您的要求。例如,如果您正在寻找与“Regex”相关的公司,例如:

Regex
Regex_inc
NotRegex
您可以执行以下操作:

Dataframe 1, column "Company", row = "Company_name"

Dataframe 2, column "Company", row = "Company_name_INC"
[请注意,我已将数据帧列
Name
转换为一个系列,并使用
.str.contains()
方法,该方法可用于索引原始数据帧()中的相应行]

返回

        Name    Company
0      Regex  company_1
1  Regex_inc  company_2
2   NotRegex  company_3
对于
df
,以及:

       Name    Company
0      Regex  company_1
1  Regex_inc  company_2
对于
df\u排序

pd.Series.str.contains()
方法的参数是
'^Regex'
,该参数说明字符串若要返回
True
值,必须以
'Regex'
开头


我使用这个regex备忘表()作为特殊字符。我不是正则表达式方面的专家,但是可以在网上找到大量的资料,还有这个答案中包含的链接。这里()还有一个正则表达式测试器,可以用来测试你的模式。

请告诉我你到目前为止尝试了什么,你说的相似是什么意思?类似于“Company_name”和“Company_name_INC”,所以所有的公司名称都有一个“_INC”连在一起。请阅读@TusharAggarwal No,这只是一个例子,它可能包含不同的东西“SL”或其他任何东西。