目录
1.重命名Pandas DataFrame Column(列)
2.在创建Dataframe时指定列名
3.※使用 list 设置全部列名※
Pandas是一个用于数据分析和操作的Python库。在pandas
中几乎所有的操作都围绕着DataFrame
。Dataframe
是一个二维表的抽象表示,可以包含各种数据。
1.重命名Pandas DataFrame Column(列)
背景:只想重命名几列,最好在创建DataFrame
后使用rename
方法
使用Dataframe
时,列经常被称为属性或字段。
有两个选项用于操作DataFrame
的列名:
- 重命名现有的
DataFrame
的列 - 在创建新的
DataFrame
时指定自定义列名
(1)重命名现有DataFrame
的列——rename( )函数
使用rename()
方法,它需要:
- 一个字典作为
columns
参数,包含 {原列名:新列名} 的键值对的映射。 - 一个
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")