📜  Python|熊猫系列.rename()(1)

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

Python | 熊猫系列.rename()

简介

rename()pandas中的一个重要函数,用于重命名数据框中的列,也可以用于文件的更名。在数据处理中,经常需要更改数据框的列名,这时就可以使用rename()函数。

语法

df.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None, errors='ignore')

  • mapper:如果是一个字典,则用于映射old_name到new_name。如果是一个函数,则会被应用到列标签上。如果是以前列标签的某个子集,则按元素wise重命名。
  • index:用于指定索引的新名称的映射。
  • columns:用于指定列的新名称的映射。
  • axis:标量或'index' / 'columns':用于选择行或列。默认值为0。
  • copy:布尔值,默认为True。如果为False,则更改的原位置没有副本。
  • inplace:布尔值,默认为False。如果为True,则会更改原始对象,而不会创建新对象。
  • level:int或级别名称。用于更改给定级别号的MultiIndex。
  • errors:字符串,默认值为“忽略”。指定给定重命名映射中的无效键的策略。可选值包括“raise”、“ignore”。
示例

示例1:重命名pandas数据框的列名

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'old_name': [1, 2, 3], 'old_age': [15, 20, 25]})

# 打印出原数据框的列名
print(df.columns)

# 重命名数据框的列名
df.rename(columns={'old_name': 'new_name', 'old_age': 'new_age'}, inplace=True)

# 打印出新数据框的列名
print(df.columns)

输出结果:

Index(['old_name', 'old_age'], dtype='object')
Index(['new_name', 'new_age'], dtype='object')

示例2:在Windows中通过Python更改所有文件的扩展名

import os
import glob

path = 'C:/Users/XM-XP/Desktop/'
extension = '.txt'
os.chdir(path)
for file in glob.glob('*.txt'):
    name = os.path.splitext(file)[0]
    os.rename(file, name + '.csv')

本代码段是将指定路径下的所有后缀名为.txt的文件更改为.csv的文件。

注意事项
  1. inplace参数为True时,会直接在原数据框上更改,建议在更改前对原数据框进行备份;
  2. mapper参数和index参数不能同时设置;
  3. 当重命名字典中的某个键在原数据框中不存在时,会报错,此时可以通过errors参数来指定处理无效键的策略;
  4. 当重命名数据框索引时,不仅仅是重命名其名称,而是完全替换整个索引。