📜  pandas 从 vlaue 列表中删除行 - Python (1)

📅  最后修改于: 2023-12-03 15:18:14.373000             🧑  作者: Mango

pandas 从 value 列表中删除行 - Python

在使用 pandas 进行数据处理时,有时候需要根据特定的值删除数据集中的行。这个过程涉及到 pandas.DataFrame.drop() 方法和布尔索引的使用。下面是详细的代码示例。

首先,我们需要创建一个示例数据集:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ethan'],
        'age': [25, 30, 35, 40, 45],
        'city': ['New York', 'London', 'Paris', 'Berlin', 'Sydney']}
df = pd.DataFrame(data)
print(df)

这个数据集包含了每个人的姓名、年龄和所在城市:

       name  age      city
0     Alice   25  New York
1       Bob   30    London
2   Charlie   35     Paris
3     David   40    Berlin
4     Ethan   45    Sydney

接下来,假设我们需要删除年龄为 30 和 40 的两行数据。

我们可以使用 pandas.DataFrame.drop() 方法来实现这个目标。具体来说,我们需要设置参数 axis=0 表示删除行,参数 inplace=True 表示在原数据集上进行修改。

df.drop(df[df['age'].isin([30, 40])].index, inplace=True)
print(df)

这里,我们首先通过 df['age'].isin([30, 40]) 得到了一个布尔索引,用于检查数据集中哪些行的年龄在 30 或 40。

然后,我们利用 pd.DataFrame.drop() 方法删除了这些行,并通过 inplace=True 在原数据集上进行了修改。最终的输出结果如下:

      name  age      city
0    Alice   25  New York
2  Charlie   35     Paris
4    Ethan   45    Sydney

总体来说,这个过程相对简单,几行代码就能实现。但需要注意的是,在使用布尔索引进行数据筛选时,务必要使用括号进行代码编写,以确保表达式的正确性。