python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Pandas对DataFrame列重命名

Pandas中如何对DataFrame列名进行重命名

作者:铁盒薄荷糖

在做数据挖掘的时候,想改一个DataFrame的column名称,所以就查了一下,下面这篇文章主要给大家介绍了关于Pandas中如何对DataFrame列名进行重命名的相关资料,需要的朋友可以参考下

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

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 np
 
new_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")

总结

到此这篇关于Pandas中如何对DataFrame列名进行重命名的文章就介绍到这了,更多相关Pandas对DataFrame列重命名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文