目录

1.重命名Pandas DataFrame Column(列)

2.在创建Dataframe时指定列名

3.※使用 list 设置全部列名※


Pandas是一个用于数据分析和操作的Python库。在pandas中几乎所有的操作都围绕着DataFrameDataframe是一个二维表的抽象表示,可以包含各种数据。

1.重命名Pandas DataFrame Column(列)

背景:只想重命名几列,最好在创建DataFrame后使用rename方法

使用Dataframe时,列经常被称为属性或字段。

有两个选项用于操作DataFrame的列名:

  1. 重命名现有的DataFrame的列
  2. 在创建新的DataFrame时指定自定义列名

(1)重命名现有DataFrame的列——rename( )函数

使用rename()方法,它需要:

  1. 一个字典作为columns参数,包含 {原列名:新列名} 的键值对的映射。
  2. 一个boolean值作为inplace参数,如果设置为True将对原始Dataframe进行修改。

举例:

df.rename(columns = {'Name' : 'First Name', 'age' : 'Age'}, inplace = True)

PS:Pandas读取csv或excel数据时,很可能遇到的columns中,列名会带有特殊字符,例如:空格、 、 、双空格、引号等等,如果不想手动修改的话,可以df.rename()来解决。

df = pd.read_excel(data_path)df_ = df.rename(columns=lambda x: x.replace(" ","").replace('  ','').replace("      ","").replace(r"","").replace(r"",""))

2.在创建Dataframe时指定列名

从一个csv文件中创建一个Dataframe并想忽略标题列名而指定自己的列名

(1)通过向names参数传递一个列表,我们可以用我们自己的列表覆盖已经存在的标题列。列表中的每一列都必须有一个名字,否则就会出现异常。

columns = ['First Name', 'Age']df = pd.read_csv('out.csv', header = None, names = columns)

(2)另一种方法是在普通的DataFrame()构造函数中指定列名。唯一不同的是,现在接收列名列表的参数被称为column而不是names:

import numpy as npnew_columns = ['First Name', 'Age']data = np.array([["Nicholas", 23],["Scott", 32],["David", 25]])df = pd.DataFrame(data, columns = new_columns)

3.※使用 list 设置全部列名※

df.columns = list("abcd")