pandas如何根据某列关键词筛选所有数据
时间: 2023-10-13 19:20:23 浏览: 359
您可以使用pandas的str.contains()方法来根据某列的关键词进行筛选。示例代码如下:
```
import pandas as pd
# 读取数据
data = pd.read_csv('data.csv')
# 筛选包含关键词的行
result = data[data['column_name'].str.contains('keyword')]
# 显示结果
print(result)
```
其中,'data.csv'是你要读取的数据文件名,'column_name'是你要筛选的列名,'keyword'是你要匹配的关键词。通过这段代码可以筛选出包含关键词的行,并将结果输出到控制台。
相关问题
pandas如何根据某列关键词筛选数据
您可以使用 Pandas 中的 str.contains() 方法,该方法可以在一列数据中查找是否包含指定的关键词,示例代码如下:
```python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({
'名称': ['苹果', '香蕉', '梨子', '草莓', '蓝莓'],
'价格': [5, 3, 2, 8, 10],
'产地': ['中国', '泰国', '日本', '美国', '韩国']
})
# 根据关键词筛选数据
keyword = '莓'
result = df[df['名称'].str.contains(keyword)]
print(result)
```
输出结果如下:
```
名称 价格 产地
3 草莓 8 美国
4 蓝莓 10 韩国
```
Pandas中如果根据关键词在所有列中筛选行
在Pandas中,您可以使用`apply()`方法和`lambda`表达式来在所有列中根据关键词筛选行。假设您有一个名为`df`的DataFrame,其中包含多个列,您可以使用如下代码来筛选包含关键词的行:
``` python
filtered_df = df[df.apply(lambda row: row.astype(str).str.contains('keyword').any(), axis=1)]
```
其中,`keyword`是您要匹配的关键词,`astype(str)`将每一行的数据类型转换为字符串类型,`str.contains()`方法检查每一行中是否包含关键词,`any()`方法用于检查每一行中是否至少有一个包含关键词的列,`apply()`方法将`lambda`表达式应用到每一行中。
上述代码将在所有列中筛选包含关键词的行。如果您要匹配的关键词不区分大小写,可以使用`case=False`参数来忽略大小写,例如:
``` python
filtered_df = df[df.apply(lambda row: row.astype(str).str.contains('keyword', case=False).any(), axis=1)]
```
这样可以匹配出包含`keyword`或者`Keyword`等大小写不同的关键词。
阅读全文