📅  最后修改于: 2023-12-03 15:03:28.281000             🧑  作者: Mango
在 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
上面的代码中,我们使用了 布尔索引 来选择要删除的行,最后使用 ~
取反运算符来得到需要保留的行。