可以通过以下步骤实现:
import pandas as pd
import re
data = {'column_name': ['This is a sample string.', 'Another example string.', 'Yet another sample string.']}
df = pd.DataFrame(data)
predefined_list = ['sample', 'string']
def count_matching_words(row):
words = re.findall(r'\w+', row['column_name'])
matching_words = [word for word in words if word.lower() in predefined_list]
return len(matching_words)
df['word_count'] = df.apply(count_matching_words, axis=1)
print(df)
输出:
column_name word_count
0 This is a sample string 2
1 Another example string 1
2 Yet another sample string 2
在上述代码中,我们首先导入了pandas和re模块。然后,创建了一个示例数据框,并定义了预定义列表。接下来,我们定义了一个名为count_matching_words
的函数,它使用正则表达式找出每个字符串中的单词,并将与预定义列表匹配的单词计数。最后,我们使用apply
方法将该函数应用于数据框的每一行,并将结果存储在名为word_count
的新列中。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云