📅  最后修改于: 2023-12-03 14:46:30.188000             🧑  作者: Mango
Python是一种高级编程语言,熊猫(Pandas)是Python语言中一个重要的数据分析库。在数据处理和转化的过程中,经常需要对数据表格的列名和行索引进行改名。熊猫Dataframe提供了一种简单的方法来实现此功能,即DataFrame.rename()
。
DataFrame.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None)
mapper
:字典或可调用对象,表示要对列名或行索引进行修改的映射关系。
index
:字典或可调用对象,表示要对行索引进行修改的映射关系。
columns
:字典或可调用对象,表示要对列名进行修改的映射关系。
axis
:要修改的轴(0表示行索引,1表示列名),默认为1。
copy
:是否返回修改后的新DataFrame对象,默认为True。
inplace
:是否将修改应用于原始的DataFrame对象上,默认为False。
level
:要更改名称的级别,如果层次结构化索引,则为整数或名称,默认为None,表示对所有级别进行修改。
返回值根据copy
和inplace
参数的不同而有所不同:
copy=True
且inplace=False
,则返回修改后的新DataFrame对象。copy=True
且inplace=True
,则原始的DataFrame对象将被修改,并返回None
。copy=False
且inplace=True
,则原始的DataFrame对象将被修改,并返回None
。import pandas as pd
# 创建一个简单的DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['x', 'y', 'z'])
print('原始DataFrame:')
print(df)
# 修改列名
df1 = df.rename(columns={'A': 'a', 'B': 'b'}, inplace=True)
print('修改列名后的DataFrame:')
print(df)
# 修改行索引
df2 = df.rename(index={'x': 'X', 'y': 'Y', 'z': 'Z'}, inplace=True)
print('修改行索引后的DataFrame:')
print(df)
# 修改列名和行索引
df3 = df.rename(mapper={'A': 'a', 'B': 'b'}, index={'x': 'X', 'y': 'Y', 'z': 'Z'}, inplace=True)
print('修改列名和行索引后的DataFrame:')
print(df)
输出:
原始DataFrame:
A B
x 1 4
y 2 5
z 3 6
修改列名后的DataFrame:
a b
x 1 4
y 2 5
z 3 6
修改行索引后的DataFrame:
a b
X 1 4
Y 2 5
Z 3 6
修改列名和行索引后的DataFrame:
a b
X 1 4
Y 2 5
Z 3 6
axis
参数可以同时修改行索引和列名,但需要将其设置为None
,并且映射字典中的键值对必须包括旧的名称和新的名称。