从Pandas DataFrame中删除一个行的列表

  • Post category:Python

删除 Pandas DataFrame 中的行有几种方法,但最常见的方法是使用 drop() 方法,其中需要传递要删除的行的列表。

以下是从 Pandas DataFrame 中删除一个行的列表的完整攻略。

1. 创建一个示例 DataFrame

下面首先创建一个示例 DataFrame,其中包含三行和三列:

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 30, 35],
    'gender': ['F', 'M', 'M']
}

df = pd.DataFrame(data)
print(df)

输出结果:

       name  age gender
0     Alice   25      F
1       Bob   30      M
2  Charlie   35      M

2. 删除一个行的列表

现在,假设我们要删除行号为 1 的行,则使用以下代码:

df = df.drop([1])
print(df)

输出结果:

       name  age gender
0     Alice   25      F
2  Charlie   35      M

如上所述,drop() 方法用于删除行,需要传递要删除的行的列表。

3. 永久删除一个行的列表

可以将 inplace 参数设置为 True,以永久修改 DataFrame。

df.drop([1], inplace=True)
print(df)

输出结果与上述例子相同。

4. 删除多个行的列表

可以从 DataFrame 中删除多个行:

df = pd.DataFrame(data)
df = df.drop([0, 2])
print(df)

输出结果:

  name  age gender
1  Bob   30      M

5. 根据条件删除行

在 DataFrame 中,可以根据一些条件来删除行。例如,如果要删除年龄在 30 岁及以上的所有行:

df = pd.DataFrame(data)

# 删除年龄在 30 岁及以上的人员
df = df[df['age'] < 30]
print(df)

输出结果:

    name  age gender
0  Alice   25      F

上述代码中,使用布尔索引来选择 DataFrame 中 age 列小于 30 的行,并将结果赋值给原始 DataFrame。这将删除年龄为 30 的行(在这个例子中只有 Bob)。

希望这个攻略对你有帮助!