在Pandas中,要删除包含特定字符串的行,可以使用字符串筛选(string filtering)的方法。具体步骤如下:
- 导入 Pandas 库
import pandas as pd
- 创建 DataFrame
data = {
'name': ['Tom', 'Jerry', 'Mickey', 'Minnie', 'Donald', 'Daisy'],
'age': [25, 30, 20, 22, 28, 26],
'gender': ['M', 'M', 'M', 'F', 'M', 'F']
}
df = pd.DataFrame(data)
我们这里创建了一个包含”姓名”、”年龄”、”性别”三列的 DataFrame。
- 找出包含特定字符串的行
df[df['name'].str.contains('i')]
这里我们使用 str.contains()
方法来找出包含字母 “i” 的行。该方法返回一个布尔型 Series,表示每一行是否存在匹配的字符串。将其结合 DataFrame 的切片操作就可以筛选出符合条件的行了。
输出的结果如下:
name age gender
1 Jerry 30 M
2 Mickey 20 M
3 Minnie 22 F
这里我们可以看到,符合条件的行是包含字母 “i” 的行,即 ‘Jerry’、’Mickey’、’Minnie’。
- 删除符合条件的行
使用 drop()
方法来删除符合条件的行,可以使用 index
参数指定行的位置:
df = df.drop([1, 2], axis=0)
df
这里我们删除了含有字母 “i” 的行,即 ‘Jerry’、’Mickey’。注意,axis=0
表示按行删除,即删除整行。
最后的结果如下:
name age gender
0 Tom 25 M
3 Minnie 22 F
4 Donald 28 M
5 Daisy 26 F
这里我们可以看到,符合条件的行已经被删除了。
综上所述,我们可以使用 Pandas 的 str.contains()
和 drop()
方法来删除包含特定字符串的行。