📜  pandas 重命名列名 - Python (1)

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

pandas 重命名列名 - Python

在数据处理过程中,我们经常需要对DataFrame的列名进行重命名,以使其更直观或更易于理解。Pandas提供了一种简单的方法来重命名列名。

1.使用rename()函数重命名列名

Pandas的DataFrame对象提供了一个可以重命名列名的函数——rename()。使用rename()函数,可以通过一个字典或者函数来重命名列名。下面是一个示例,演示如何使用字典重命名列名:

import pandas as pd

# 创建DataFrame对象,包含原始列名
df = pd.DataFrame({'old_col1': [1, 2], 'old_col2': [3, 4]})

# 使用字典重命名列名
df = df.rename(columns={'old_col1': 'new_col1', 'old_col2': 'new_col2'})

在上述代码中,我们创建了一个包含原始列名的DataFrame对象,并使用rename()函数根据字典重命名了列名。注意rename()函数是不会修改原DataFrame对象的,而是返回一个新的DataFrame对象,所以我们需要将其重新赋值给原变量。

除了使用字典之外,还可以使用函数来重命名列名。下面是一个使用函数重命名列名的示例:

import pandas as pd

# 创建DataFrame对象,包含原始列名
df = pd.DataFrame({'old_col1': [1, 2], 'old_col2': [3, 4]})

# 使用函数重命名列名
df = df.rename(columns=lambda x: x.replace('old_', 'new_'))

在上述代码中,我们创建了一个包含原始列名的DataFrame对象,并使用rename()函数根据函数重命名了列名。函数中使用replace()函数将列名中的old_替换为new_。同样地,rename()函数会返回一个新的DataFrame对象,所以我们需要将其重新赋值给原变量。

在以上两种方法中,我们都使用了rename()函数来重命名列名,columns参数指定了要重命名的列名,按照指定的方式进行重命名。

2.使用set_axis()方法重命名列名

Pandas的DataFrame对象还提供了一个可以重命名列名的方法——set_axis()。使用set_axis()方法,可以通过一个列表或者函数来重命名列名。下面是一个示例,演示如何使用列表重命名列名:

import pandas as pd

# 创建DataFrame对象,包含原始列名
df = pd.DataFrame({'old_col1': [1, 2], 'old_col2': [3, 4]})

# 使用列表重命名列名
df.set_axis(['new_col1', 'new_col2'], axis=1, inplace=True)

在上述代码中,我们创建了一个包含原始列名的DataFrame对象,并使用set_axis()方法根据列表重命名了列名。其中,axis参数指定列名所在的轴,inplace参数指定是否就地修改原DataFrame对象。

除了使用列表之外,还可以使用函数来重命名列名。下面是一个使用函数重命名列名的示例:

import pandas as pd

# 创建DataFrame对象,包含原始列名
df = pd.DataFrame({'old_col1': [1, 2], 'old_col2': [3, 4]})

# 使用函数重命名列名
df.set_axis(df.columns.map(lambda x: x.replace('old_', 'new_')), axis=1, inplace=True)

在上述代码中,我们创建了一个包含原始列名的DataFrame对象,并使用set_axis()方法根据函数重命名了列名。函数中使用map()函数将列名中的old_替换为new_,并返回一个新的列名列表。同样地,set_axis()方法也是可以就地修改原DataFrame对象的。