📜  pandas df 删除索引 - Python (1)

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

Pandas DataFrame 删除索引 - Python

在 Pandas 中,DataFrame 可以使用索引(index)来访问和操作数据。有时候我们需要删除某些索引,下面我们将介绍如何在 Pandas DataFrame 中删除索引。

删除单个索引

要删除单个索引,我们可以使用 df.drop() 方法,将 labels 参数设置为需要删除的索引,axis 参数设置为 0 表示行索引。

import pandas as pd

# 创建一个 DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike'], 'age': [18, 20, 22]}
df = pd.DataFrame(data, index=['a', 'b', 'c'])

# 删除行索引为 'a' 的行
df = df.drop(labels='a', axis=0)
print(df)

输出结果:

    name  age
b  Jerry   20
c   Mike   22
删除多个索引

要删除多个索引,可以将需要删除的索引放到一个列表中传递给 labels 参数。下面的示例删除了行索引为 'a' 和 'c' 的行。

import pandas as pd

# 创建一个 DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike'], 'age': [18, 20, 22]}
df = pd.DataFrame(data, index=['a', 'b', 'c'])

# 删除行索引为 'a' 和 'c' 的行
df = df.drop(labels=['a', 'c'], axis=0)
print(df)

输出结果:

    name  age
b  Jerry   20
删除指定条件的索引

有时候我们想删除符合某些条件的索引。例如,删除 'age' 列中值大于等于 20 的行。

import pandas as pd

# 创建一个 DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike'], 'age': [18, 20, 22]}
df = pd.DataFrame(data, index=['a', 'b', 'c'])

# 删除 'age' 列中值大于等于 20 的行
df = df[~(df['age'] >= 20)]
print(df)

输出结果:

  name  age
a  Tom   18

上面的代码中,我们使用了 布尔索引 来选择要删除的行,最后使用 ~ 取反运算符来得到需要保留的行。