📅  最后修改于: 2023-12-03 15:38:22.380000             🧑  作者: Mango
在 Pandas 中,我们可以通过设置 DataFrame 的 index
属性来设置索引列。在某些情况下,我们可能想要删除索引列,因为它不包含任何有用的信息,或者因为我们只对数据列感兴趣。本文将介绍在 Pandas 中如何删除索引列。
要删除单个索引列,请使用 DataFrame 的 reset_index
方法,将 drop
参数设置为 True
。
import pandas as pd
data = {'Name': ['Tom', 'Lucy', 'John', 'Lily'],
'Gender': ['Male', 'Female', 'Male', 'Female'],
'Age': [21, 23, 22, 24]}
df = pd.DataFrame(data)
df = df.set_index('Name')
print(df)
# Output:
# Gender Age
# Name
# Tom Male 21
# Lucy Female 23
# John Male 22
# Lily Female 24
df = df.reset_index(drop=True)
print(df)
# Output:
# Gender Age
# 0 Male 21
# 1 Female 23
# 2 Male 22
# 3 Female 24
如上所示,我们使用 set_index
方法将 Name 列设置为索引,然后使用 reset_index
方法删除了 Name 索引列。
要删除多个索引列,可以将需要保留的列名传递给 reset_index
的 level
参数,以便仅保留这些索引列。默认情况下,level
参数设置为 None
,这意味着将删除所有索引列。
import pandas as pd
data = {'Name': ['Tom', 'Lucy', 'John', 'Lily'],
'Gender': ['Male', 'Female', 'Male', 'Female'],
'Age': [21, 23, 22, 24]}
df = pd.DataFrame(data)
df = df.set_index(['Name', 'Gender'])
print(df)
# Output:
# Age
# Name Gender
# Tom Male 21
# Lucy Female 23
# John Male 22
# Lily Female 24
df = df.reset_index(level='Gender')
print(df)
# Output:
# Gender Age
# Name
# Tom Male 21
# Lucy Female 23
# John Male 22
# Lily Female 24
如上所示,我们使用 set_index
方法将 Name 和 Gender 列设置为索引,然后使用 reset_index
方法删除了 Gender 索引列。
通过使用 Pandas 的 reset_index
方法,可以方便地删除单个或多个索引列。在删除单个索引列时,只需将 drop
参数设置为 True
;在删除多个索引列时,可以将需要保留的列名传递给 level
参数。