如果 'filel' 列是字符串类型,有没有其他方法可以删除包含 'test' 的所有行?
时间: 2024-10-15 21:18:28 浏览: 9
如果你的数据框 (`df`) 中的 'filel' 列是字符串类型,并且你想删除所有包含 'test' 字符串的行,你可以使用 `pandas` 库中的条件筛选功能。这里有一个例子:
```python
import pandas as pd
# 假设 df 是你的 DataFrame
filtered_df = df[df['filel'].str.contains('test', case=False) == False]
```
这个代码片段会创建一个新的 DataFrame `filtered_df`,其中只包含那些 'filel' 列不包含 'test' 字符串的行。`str.contains()` 函数用于检查每个元素是否包含指定的模式,`case=False` 表示不区分大小写。
如果你想直接在原数据框上操作并修改,而不是创建新DataFrame,可以使用 `.loc` 或 `.query`:
```python
# 直接在 df 上操作
df = df.loc[df['filel'].str.contains('test', case=False) != True]
# 或者使用 query
df = df.query("'test' not in @df['filel']")
```
阅读全文