📅  最后修改于: 2023-12-03 15:08:23.243000             🧑  作者: Mango
在进行数据分析的过程中,数据集中的列名可能不太合适,需要使用其他的列名来更好地表达数据。pandas
提供了丰富的函数来帮助数据科学家去更改列名。本文将介绍如何使用 pandas
对象重命名列名。
pandas.DataFrame.rename()
方法可以接受多种类型的参数来进行列名的更改,参数有对列名的映射、对列名的函数映射和列表,下面介绍几种常用的方法。
下面例子中我们使用花园里的不同种类的花朵来作为例子。
import pandas as pd
data = {'Rose': [1, 2, 3], 'Lily': [4, 5, 6], 'Orchid': [7, 8, 9]}
df = pd.DataFrame(data)
# 使用字典来将列名 Rose 重命名为 Hydrangea
df.rename(columns={'Rose': 'Hydrangea'}, inplace=True)
print(df)
输出:
Hydrangea Lily Orchid
0 1 4 7
1 2 5 8
2 3 6 9
可以看到,字典的键是原来的列名,值是新的列名。
函数可以将列名转换为新的列名,下面例子中将所有的列名转换为大写字母。
import pandas as pd
data = {'Rose': [1, 2, 3], 'Lily': [4, 5, 6], 'Orchid': [7, 8, 9]}
df = pd.DataFrame(data)
# 定义重命名函数
def to_upper(text):
return text.upper()
# 使用函数将列名转换为大写字母
df.rename(columns=to_upper, inplace=True)
print(df)
输出:
ROSE LILY ORCHID
0 1 4 7
1 2 5 8
2 3 6 9
使用一个列表来作为新的列名,下面例子中,将新的列名添加到列表中。
import pandas as pd
data = {'Rose': [1, 2, 3], 'Lily': [4, 5, 6], 'Orchid': [7, 8, 9]}
df = pd.DataFrame(data)
# 使用列表将列名重新命名
df.columns = ['Flower1', 'Flower2', 'Flower3']
print(df)
输出:
Flower1 Flower2 Flower3
0 1 4 7
1 2 5 8
2 3 6 9
set_axis()
函数可以帮助我们快速地重命名列名,下面代码可以实现对列名的重命名。
import pandas as pd
data = {'Rose': [1, 2, 3], 'Lily': [4, 5, 6], 'Orchid': [7, 8, 9]}
df = pd.DataFrame(data)
# 使用 set_axis() 函数对列名进行重命名
df.set_axis(['Flower1', 'Flower2', 'Flower3'], axis=1, inplace=True)
print(df)
输出:
Flower1 Flower2 Flower3
0 1 4 7
1 2 5 8
2 3 6 9
本文介绍了如何使用 pandas
对象重命名列名,列名的更改可以通过字典、函数、列表和 set_axis()
函数来实现。在数据分析的过程中,有时需要更好地表达数据,更改列名可以让数据更加直观明了。