首页 > 解决方案 > 如何在数据框中的第一个特定单词之后找到第二个特定单词

问题描述

我看过类似的案例,但它们并不相同。

我有一个熊猫框架。每一行都是一项研究。在一个特定的列中,我需要找出一个特定的词,即床,在另一个特定的词,即家之后出现了多少次。

我需要找出在熊猫框架中有多少案例发生这种情况。

我已经看到有关提取特定单词之后的任何文本的问题,但不是这样的情况。我假设这可能是正则表达式,但不知道该怎么做。

我创建示例数据框的代码。

import pandas as pd

raw_data = {'whereabouts': ['in bed at home', 'at home in bed',
                            'in school in class', 
                            'at home in bed', 'at home in yard'] 
            'last_name': ['James', 'Ellen', 'Alex', 'Tomas','Rick']}
df = pd.DataFrame(raw_data, columns = ['whereabouts', first_name'])
print(df)

我需要能够在行踪列中找到字符串“bed”出现在字符串“home”之后的实例数。

标签: pythonpandasstring

解决方案


你也可以试试这个:

import re
df['col'] = df.whereabouts.str.contains(r'.*home.*bed.*', flags=re.I)

输出:

    whereabouts         col
0   in bed at home      False
1   at home in bed      True
2   in school in class  False
3   at home in bed      True
4   at home in yard     False

推荐阅读