pandas全匹配,将某字符串所在行删除
时间: 2024-04-12 10:32:33 浏览: 95
可以使用 Pandas 中的 `drop()` 方法来删除包含特定字符串的行。要实现全匹配,你可以使用 `str.contains()` 方法来筛选出包含指定字符串的行,然后使用 `drop()` 方法删除这些行。
下面是一个示例:
```python
import pandas as pd
# 创建示例数据
data = {'col1': ['apple', 'banana', 'orange', 'grape'],
'col2': ['red', 'yellow', 'orange', 'purple']}
df = pd.DataFrame(data)
# 删除包含特定字符串的行
df = df[~df['col1'].str.contains('^orange$')]
print(df)
```
这个示例中,我们创建了一个包含两列的 DataFrame。然后,我们使用 `str.contains('^orange$')` 来筛选出 `col1` 列中内容为 "orange" 的行,`^` 表示开头,`$` 表示结尾,确保只匹配整个单词。最后,使用 `~` 操作符取反,将筛选结果取反,得到不包含 "orange" 的行。最终结果会输出删除指定字符串所在行的 DataFrame。
请注意,`str.contains()` 方法默认是区分大小写的。如果你希望进行不区分大小写的匹配,可以使用 `case=False` 参数,例如:`df[~df['col1'].str.contains('^orange$', case=False)]`。
相关问题
pandas删除多个字符串所在行
要删除包含多个字符串的行,您可以使用 Pandas 中的 `str.contains()` 方法结合逻辑运算符进行条件过滤。下面是一个示例代码:
```python
import pandas as pd
# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dave'],
'Age': [25, 30, 35, 40],
'City': ['New York', 'London', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)
# 定义要删除的字符串列表
delete_strings = ['ob', 'ar']
# 删除包含多个字符串的行
df = df[~df['Name'].str.contains('|'.join(delete_strings))]
print(df)
```
在上面的示例中,我们创建了一个包含姓名、年龄和城市的 DataFrame。然后,我们定义了一个要删除的字符串列表 `delete_strings`,其中包含了要删除的字符串'ob'和'ar'。接下来,我们使用 `str.contains()` 方法结合逻辑运算符 `|`(表示或)来判断姓名列中是否包含删除字符串列表中的任何一个字符串。最后,我们使用条件过滤符号 `~` 来排除包含这些字符串的行,从而删除它们。
运行代码后,输出结果将是:
```
Name Age City
0 Alice 25 New York
3 Dave 40 Tokyo
```
可以看到,带有"Bob"和"Charlie"的行被成功删除了。您可以根据需要更改列名和要删除的字符串列表来适应您的数据。
pandas删除某些字符串所在行
您可以使用 Pandas 中的字符串方法和条件过滤来删除包含特定字符串的行。以下是一个示例代码:
```python
import pandas as pd
# 创建示例数据
data = {'Name': ['Alice', 'Bob', 'Charlie', 'Dave'],
'Age': [25, 30, 35, 40],
'City': ['New York', 'London', 'Paris', 'Tokyo']}
df = pd.DataFrame(data)
# 删除包含特定字符串的行
df = df[~df['Name'].str.contains('ob')]
print(df)
```
在上面的示例中,我们创建了一个包含姓名、年龄和城市的 DataFrame。然后,我们使用 `str.contains()` 方法来判断姓名列中是否包含特定字符串(在这里是"ob")。最后,我们使用条件过滤符号 `~` 来排除包含特定字符串的行,从而删除它们。
运行代码后,输出结果将是:
```
Name Age City
0 Alice 25 New York
2 Charlie 35 Paris
3 Dave 40 Tokyo
```
可以看到,带有"Bob"的行被成功删除了。您可以根据需要更改列名和特定字符串来适应您的数据。
阅读全文