📅  最后修改于: 2023-12-03 15:22:22.643000             🧑  作者: Mango
在Python中,数据框(DataFrame)是一种用于存储和操作数据的二维表格结构。数据框中的每一列都可以是不同的数据类型,而且可以方便地进行索引、分组和操作。在数据分析和机器学习领域,数据框是一个十分重要的数据结构。
数据框的索引一般是通过行或列的标签进行对应的。索引的标签可以是数字或字符串。但是,在有些情况下,我们可能需要根据自己的需要自定义数据框的索引,这时,使用DataFrame中的index属性来设置索引就显得非常有用了。
下面我们来看一下如何使用列表更改数据框的索引。
首先,我们需要创建一个数据框作为例子。
import pandas as pd
# 创建字典对象,用于创建数据框
data = {'name': ['John', 'Sam', 'Anna', 'Alice'],
'score': [80, 60, 90, 75],
'age': [20, 22, 21, 19]}
# 创建数据框
df = pd.DataFrame(data)
# 显示数据框
print(df)
输出结果为:
name score age
0 John 80 20
1 Sam 60 22
2 Anna 90 21
3 Alice 75 19
我们可以使用set_index方法来更改数据框的索引。set_index方法中的参数为新索引的列名或列标签。如果要设置多个列为索引,可以传入一个列表作为参数。
下面我们将数据框的索引更改为"name"列的值。
# 将'name'列设置为索引
df.set_index('name', inplace=True)
# 显示数据框
print(df)
输出结果为:
score age
name
John 80 20
Sam 60 22
Anna 90 21
Alice 75 19
从输出结果可以看出,数据框的索引已经被更改为"name"列的值。
如果我们想要使用多个列作为数据框的索引,那么就需要传入一个由列名组成的列表作为set_index方法的参数。
下面我们将数据框的索引更改为"name"和"age"两列的值。
# 将'name'和'age'两列设置为索引
df.set_index(['name', 'age'], inplace=True)
# 显示数据框
print(df)
输出结果为:
score
name age
John 20 80
Sam 22 60
Anna 21 90
Alice 19 75
从输出结果可以看出,数据框的索引已经被更改为"name"和"age"两列的值。
如果我们想要还原数据框的索引为默认的整数索引,可以使用reset_index方法。reset_index方法中的drop参数表示是否将原索引删除,默认为False。
下面我们将数据框的索引还原为默认的整数索引。
# 还原索引为默认的整数索引
df.reset_index(inplace=True)
# 显示数据框
print(df)
输出结果为:
name age score
0 John 20 80
1 Sam 22 60
2 Anna 21 90
3 Alice 19 75
使用set_index方法可以方便地更改数据框的索引,而使用reset_index方法可以将数据框的索引还原为默认的整数索引。如果要使用多个列作为索引,可以传入一个由列名组成的列表作为参数。