如何根据关键词遍历pandas每列
时间: 2023-07-19 20:34:33 浏览: 80
如果您想要在 pandas 中遍历每一列,并查找是否包含特定的关键词,可以使用 Pandas 库中的 `DataFrame` 对象的 `apply()` 方法。具体的步骤如下:
1. 创建一个包含您要查找的关键词的列表,比如 `keywords = ['keyword1', 'keyword2', 'keyword3']`。
2. 定义一个函数,该函数将在 `apply()` 方法中被调用。该函数将接收一个参数,即每一列数据,然后将会在该列中查找关键词。
3. 在该函数中,可以使用 Python 中的字符串方法来查找关键词。比如,可以使用 `str.contains()` 方法来查找该列中是否包含关键词。该方法将返回一个布尔型的 `Series` 对象,表示该列中是否包含关键词。
4. 将该布尔型的 `Series` 对象返回给 `apply()` 方法,该方法将会将所有列的结果合并为一个 `DataFrame` 对象。
下面是一个示例代码,展示了如何在每一列中查找关键词:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({
'col1': ['hello', 'world', 'pandas'],
'col2': ['data', 'processing', 'analysis'],
'col3': ['python', 'programming', 'language']
})
# 定义要查找的关键词
keywords = ['data', 'python']
# 定义函数,在每一列中查找关键词
def find_keywords(col):
return col.str.contains('|'.join(keywords))
# 使用 apply() 方法,将函数应用到每一列
result = df.apply(find_keywords)
# 输出结果
print(result)
```
该代码将会输出一个布尔型的 `DataFrame` 对象,表示每一列是否包含关键词。结果如下:
```
col1 col2 col3
0 False True True
1 False False False
2 False False True
```
其中,每一行表示一个关键词,每一列表示一个数据列。如果该列中包含该关键词,则为 `True`,否则为 `False`。
阅读全文