Python – 重命名Pandas DataFrame的列

Python – 重命名Pandas DataFrame的列

在数据分析和清洗的过程中,我们通常需要对Pandas DataFrame的列名进行重命名以方便后续的操作。Python中的Pandas库提供了方便易用的方法来重命名DataFrame的列。在本文中,我们将介绍Pandas DataFrame列的重命名方法及其用法。

Pandas.DataFrame.rename()方法

Pandas.DataFrame.rename()是用于重命名列的最常用方法。该方法允许我们通过指定一个字典来对每列进行重命名操作。例如:

import pandas as pd

data = {'old_name_1': [1, 2, 3],
        'old_name_2': [4, 5, 6],
        'old_name_3': [7, 8, 9]}

df = pd.DataFrame(data)

df = df.rename(columns={'old_name_1': 'new_name_1', 'old_name_2': 'new_name_2'})

print(df.columns)

输出:

Index(['new_name_1', 'new_name_2', 'old_name_3'], dtype='object')

在以上示例中,我们创建了一个包含3列的Pandas DataFrame,然后使用rename()方法将列old_name_1和old_name_2重命名为new_name_1和new_name_2,分别使用新的列名进行操作。

除了指定字典的方式外,我们还可以使用函数来重命名列:

import pandas as pd

data = {'old_name_1': [1, 2, 3],
        'old_name_2': [4, 5, 6],
        'old_name_3': [7, 8, 9]}

df = pd.DataFrame(data)

def rename_function(x):
    return "new_name_" + str(x)[-1]

df = df.rename(columns=rename_function)

print(df.columns)

输出:

Index(['new_name_1', 'new_name_2', 'new_name_3'], dtype='object')

在以上示例中,我们使用了一个函数来生成新的列名。该函数接受旧的列名为参数,并返回新的列名。

除了重命名列名之外,我们还可以通过修改DataFrame.columns属性来修改列名:

import pandas as pd

data = {'old_name_1': [1, 2, 3],
        'old_name_2': [4, 5, 6],
        'old_name_3': [7, 8, 9]}

df = pd.DataFrame(data)

df.columns = ['new_name_1', 'new_name_2', 'new_name_3']

print(df.columns)

输出:

Index(['new_name_1', 'new_name_2', 'new_name_3'], dtype='object')

以上示例中,我们直接修改了DataFrame.columns属性的值,将其设为一个新的列表。

Pandas.DataFrame.rename_axis()方法

Pandas.DataFrame.rename_axis()方法可以用于为轴索引(行名或列名)进行重命名。与rename()方法类似,该方法也接受一个字典或一个函数作为参数来重命名轴名称。例如:

import pandas as pd

data = {'col_1': [1, 2, 3],
        'col_2': [4, 5, 6],
        'col_3': [7, 8, 9]}

df = pd.DataFrame(data, index=['row_1', 'row_2', 'row_3'])

df = df.rename_axis(index={'row_1': 'new_row_1', 'row_2': 'new_row_2'})

print(df.index)

输出:

Index(['new_row_1', 'new_row_2', 'row_3'], dtype='object')

在以上示例中,我们使用rename_axis()方法将轴索引row_1和row_2重命名为new_row_1和new_row_2。

结论

Pandas DataFrame重命名列的方法主要有Pandas.DataFrame.rename()和Pandas.DataFrame.columns属性两种方式,这两种方法均能实现对DataFrame列名的重命名操作,根据数据类型和操作方式的不同,选择不同的方法会产生不同的效果。如果要重命名多个列,考虑使用Pandas.DataFrame.rename()方法,并指定一个字典来进行操作。如果只需要重命名一个或少量列,则可以直接修改DataFrame.columns属性的值。另外,如果需要重命名轴索引(行名或列名),可以使用Pandas.DataFrame.rename_axis()方法来进行操作。在实际数据处理中,需要根据具体情况选择合适的方法来进行操作,以便更好地完成数据清洗和分析工作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程