📜  Python|熊猫 Dataframe.rename()(1)

📅  最后修改于: 2023-12-03 14:46:30.188000             🧑  作者: Mango

Python|熊猫Dataframe.rename()

简介

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,表示对所有级别进行修改。

返回值

返回值根据copyinplace参数的不同而有所不同:

  • 如果copy=Trueinplace=False,则返回修改后的新DataFrame对象。
  • 如果copy=Trueinplace=True,则原始的DataFrame对象将被修改,并返回None
  • 如果copy=Falseinplace=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,并且映射字典中的键值对必须包括旧的名称和新的名称。