加入Pandas数据框架,通过子串匹配

加入Pandas数据框架,通过子串匹配

在这篇文章中,我们将学习如何用python连接两个通过子串匹配的数据框架。

使用的方法:

  • join() : 将一个迭代中的所有元素连接成一个单一的字符串。
  • lambda( ): 一个匿名方法,声明时没有名称,可以接受任何数量的参数。
  • find() : 获得任何必要值的初始外观
  • merge() : 合并两个数据帧

步骤

按照下面的步骤来连接两个由子串匹配的数据帧。

  • 创建两个DataFrames。
  • 使用笛卡尔乘积连接两个数据框架
  • 加入一个重复的列,包括所有DataFrames中相同的值
  • 加入新栏目
  • 最后,删除每个DataFrame中添加的列。
  • 然后我们需要在数据框架中添加一个新的列。要做到这一点,我们将使用 “lambda “和 “find “函数,其中输出大于零。
  • 现在我们打印由子字符串匹配的连接数据帧。

以下是实现。

import pandas as pd
  
  
dataFrame1 = pd.DataFrame([['PQR', 'B1'], ['QRS', 'B2'], ['RDE', 'B3']], 
                          columns=['work_name', 'tag_name'])
  
dataFrame2 = pd.DataFrame([['RR', 'T1'], ['QR', 'T2'], ['HG', 'T3'], 
                           ['PQ', 'T4']],
                          columns=['sub_work_name', 'extra_tag_value'])
  
dataFrame1['join'] = 1
dataFrame2['join'] = 1
  
dataFrameFull = dataFrame1.merge(
  dataFrame2, on='join').drop('join', axis=1)
  
dataFrame2.drop('join', axis=1, inplace=True)
  
dataFrameFull['match'] = dataFrameFull.apply(
    lambda x: x.work_name.find(x.sub_work_name), axis=1).ge(0)
  
print(dataFrameFull[dataFrameFull['match']])

输出:

加入Pandas数据框架,通过子串匹配

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程