怎样删除df中一列值内为多个特定值的所在行
时间: 2023-07-14 14:14:18 浏览: 96
可以使用 Pandas 库中的 `drop` 方法来删除满足条件的行。
假设要删除 DataFrame `df` 中一列名为 `column_name`,其中值可能包含多个特定值,需要删除这些特定值,可以按以下步骤操作:
1. 创建一个布尔向量,表示 `column_name` 列中是否包含需要删除的特定值,比如:
``` python
mask = df['column_name'].isin(['value1', 'value2', 'value3'])
```
2. 使用 `mask` 向量作为索引来选择需要删除的行,并使用 `drop` 方法删除它们,比如:
``` python
df.drop(df[mask].index, inplace=True)
```
其中 `inplace=True` 表示在原 DataFrame 上进行修改,否则会返回一个新的 DataFrame。
完整的代码示例如下:
``` python
import pandas as pd
# 创建示例 DataFrame
df = pd.DataFrame({
'column_name': ['value1', 'value2,value3', 'value4', 'value5,value6']
})
# 输出原始 DataFrame
print('Original DataFrame:')
print(df)
# 创建布尔向量
mask = df['column_name'].isin(['value2', 'value5'])
# 删除满足条件的行
df.drop(df[mask].index, inplace=True)
# 输出删除特定值后的 DataFrame
print('\nDataFrame after removing specific values:')
print(df)
```
运行结果如下:
```
Original DataFrame:
column_name
0 value1
1 value2,value3
2 value4
3 value5,value6
DataFrame after removing specific values:
column_name
0 value1
2 value4
```
阅读全文