📜  使用列表更改数据框的索引 - Python (1)

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

使用列表更改数据框的索引 - Python

在Python中,数据框(DataFrame)是一种用于存储和操作数据的二维表格结构。数据框中的每一列都可以是不同的数据类型,而且可以方便地进行索引、分组和操作。在数据分析和机器学习领域,数据框是一个十分重要的数据结构。

数据框的索引一般是通过行或列的标签进行对应的。索引的标签可以是数字或字符串。但是,在有些情况下,我们可能需要根据自己的需要自定义数据框的索引,这时,使用DataFrame中的index属性来设置索引就显得非常有用了。

下面我们来看一下如何使用列表更改数据框的索引。

1. 创建数据框

首先,我们需要创建一个数据框作为例子。

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
2. 使用列表更改索引

我们可以使用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"列的值。

3. 使用多个列作为索引

如果我们想要使用多个列作为数据框的索引,那么就需要传入一个由列名组成的列表作为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"两列的值。

4. 使用reset_index方法还原索引

如果我们想要还原数据框的索引为默认的整数索引,可以使用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方法可以将数据框的索引还原为默认的整数索引。如果要使用多个列作为索引,可以传入一个由列名组成的列表作为参数。