Python Pandas – 修改索引名称

Python Pandas – 修改索引名称

在 Pandas 中,索引就是标签。它们是数据框中行和列的标识符,用于标识数据。

在 Pandas 中,数据集中的行可以通过唯一的标签标识。索引标签可以是整数,字符串或任何其他适当的 Python 数据类型。索引也可以包含层次结构,这在 Pandas 中称为多级索引。

不过,有时候我们需要修改索引名称,因为索引名称的标识符可能不太适合我们的需求,比如太长、太繁琐等。那么,Pandas 可以如何修改索引名称呢?

修改单层索引名称

假设我们有以下数据集:

import pandas as pd

data = {'name': ['John', 'Mike', 'Bob'],
        'age': [30, 25, 18],
        'gender': ['Male', 'Male', 'Male']}

df = pd.DataFrame(data)
print(df)

输出:

   name  age gender
0  John   30   Male
1  Mike   25   Male
2   Bob   18   Male

现在,我们想修改索引名称为‘序号’。可以使用 rename_axis 函数。

df = df.rename_axis('序号')
print(df)

输出:

     name  age gender
序号                  
0    John   30   Male
1    Mike   25   Male
2     Bob   18   Male

此时,我们可以看到,索引名称已经被修改为‘序号’了。

修改多层索引名称

当索引有多层时,修改它们的方法是类似的。

假设我们有以下数据集:

import pandas as pd

data = [['New York', 2020, 100],
        ['New York', 2021, 120],
        ['Los Angeles', 2020, 90],
        ['Los Angeles', 2021, 110]]

df = pd.DataFrame(data, columns=['city', 'year', 'sales'])
df = df.set_index(['city', 'year'])
print(df)

输出:

                 sales
city        year      
New York    2020    100
            2021    120
Los Angeles 2020     90
            2021    110

现在,我们想修改第一个索引层级的名称为‘城市’,第二个索引层级的名称为‘年份’。可以使用 rename_axis 函数:

df = df.rename_axis(['城市', '年份'])
print(df)

输出:

           sales
城市         年份      
New York    2020    100
            2021    120
Los Angeles 2020     90
            2021    110

此时,我们可以看到,多层索引名称已经被修改为‘城市’和‘年份’了。

修改列名称

在 Pandas 中,修改列名称的方法与修改索引名称的方法类似,可以使用 rename 函数。

假设我们有以下数据集:

import pandas as pd

data = {'name': ['John', 'Mike', 'Bob'],
        'age': [30, 25, 18],
        'gender': ['Male', 'Male', 'Male']}

df = pd.DataFrame(data)
print(df)

输出:

   name  age gender
0  John   30   Male
1  Mike   25   Male
2   Bob   18   Male

现在,我们想修改列名称为‘姓名’、‘年龄’和‘性别’。可以使用 rename 函数。

df = df.rename(columns={'name': '姓名', 'age': '年龄', 'gender': '性别'})
print(df)

输出:

     姓名  年龄    性别
0  John  30  Male
1  Mike  25  Male
2   Bob  18  Male

此时,我们可以看到,列名称已经被修改为‘姓名’、‘年龄’和‘性别’了。

结论

在 Pandas 中,修改索引和列名称的方法相对比较简单。我们可以使用 rename_axis 函数来修改索引名称,使用 rename 函数来修改列名称。同时,值得注意的是,使用这些函数时,我们可以传递字典形式的参数,以便同时修改多个名称。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程