首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在两个Pandas Dataframe列之间查找匹配关键字之前和之后的单词,并在新列中返回

在两个Pandas DataFrame列之间查找匹配关键字之前和之后的单词,并在新列中返回。

首先,我们可以使用正则表达式来查找匹配关键字之前和之后的单词。然后,我们可以将找到的单词存储在一个新的列中。

以下是一种实现的方式:

代码语言:txt
复制
import pandas as pd
import re

def find_words_before_and_after(df, column1, column2, keyword):
    # 创建新列
    df['new_column'] = ""

    # 遍历DataFrame的行
    for index, row in df.iterrows():
        # 获取两个列的值
        text1 = row[column1]
        text2 = row[column2]
        
        # 使用正则表达式查找匹配关键字之前和之后的单词
        pattern = r"\b(\w*{}(?:\w*)?)\b".format(re.escape(keyword))
        matches1 = re.findall(pattern, text1)
        matches2 = re.findall(pattern, text2)
        
        # 拼接找到的单词
        words = " ".join(matches1 + matches2)
        
        # 将单词存储在新列中
        df.at[index, 'new_column'] = words

    return df

# 创建示例DataFrame
df = pd.DataFrame({'text1': ['Hello world', 'This is a test'], 'text2': ['World, hello', 'Test, test']})

# 调用函数查找匹配关键字之前和之后的单词
df = find_words_before_and_after(df, 'text1', 'text2', 'test')

# 打印结果
print(df)

这段代码会在示例DataFrame的基础上,通过调用find_words_before_and_after函数来查找text1text2列中,匹配关键字"test"之前和之后的单词,并将结果存储在新列new_column中。最后,打印出结果DataFrame。

请注意,这只是一种实现方式,根据具体需求,可能有其他更适合的方法或函数可以实现相同的功能。

(关键词:Pandas Dataframe, 列之间查找, 匹配关键字, 单词, 新列, 正则表达式)

相关搜索:在Pandas Dataframe列中查找某些单词,如果找到,则将它们添加到新列中Python,pandas,在匹配组的新列中的累积和Python -在dataframe列中查找以元音开头和结尾的单词Pandas Dataframe:创建一个新列,并在基于两个不同列的匹配行中插入一个值在Pandas DataFrame中插入新列和各自的值(按条件)如何使用pandas DataFrame的两个单独列中的数据在python中创建新列?在Pandas列中搜索list的元素,如果匹配,则将这些元素返回到新列如何过滤DataFrame,使其在Pandas中的列中保留特定单词列表之后的行?在列中查找值并在此基础上在pandas中创建新的数据帧查找两个pandas Dataframe和之间的差异,并将所有数据添加到新DF中在jQuery或Javascript中查找具有不同列的两个表之间的匹配数据计算两个日期之间不包括星期日的天数,并在R DataFrame中创建一个新列pandas帮助:在列中映射和匹配制表符分隔的字符串,并打印到新列中根据条件复制pandas中的行,并在现有行和新行之间拆分一列中的字符串使用一个查询在pandas dataframe中的两个列之间执行数学计算?在pandas中,如何在3个具有匹配行和列的独立数据帧之间建立相关矩阵?根据r中df1和df2之间的匹配,在df1中添加一个新列通过在选定的列上匹配来合并两个多维数组,并返回一个包含所有行和列的新数组根据两个连续的日期和产品减去产品值,在MySQL中返回一个名为产品差值的新列
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券