python dataframe 2列数据批量比对,一列文本字段包含在另一列中
时间: 2024-05-07 09:23:13 浏览: 100
对比两列数据
您可以使用 Pandas 库来完成这个任务。假设您的 DataFrame 名称为 df,其中包含两列数据,分别为 text 和 keyword。要比较 text 列中的每个文本是否包含在 keyword 列中,可以使用以下代码:
```
df['match'] = df.apply(lambda row: row['text'] in row['keyword'], axis=1)
```
这将在 DataFrame 中添加一个名为 match 的新列,其中包含布尔值,表示 text 列中的每个文本是否包含在 keyword 列中。如果匹配,则为 True,否则为 False。
您还可以使用 str.contains() 函数在 Pandas 中执行此操作,如下所示:
```
df['match'] = df['keyword'].str.contains(df['text'])
```
这将在 DataFrame 中添加一个名为 match 的新列,其中包含布尔值,表示 text 列中的每个文本是否包含在 keyword 列中。如果匹配,则为 True,否则为 False。
请注意,这些方法都是区分大小写的。如果您需要执行不区分大小写的比较,请使用 str.lower() 函数将列中的文本转换为小写。例如:
```
df['match'] = df.apply(lambda row: row['text'].lower() in row['keyword'].lower(), axis=1)
```
或者:
```
df['match'] = df['keyword'].str.lower().contains(df['text'].str.lower())
```
阅读全文