配色: 字号:
如何重命名 PANDAS DATAFRAME 中的列
2023-06-24 | 阅:  转:  |  分享 
  
?在本教程中,我们将介绍在 Python 中重命名 pandas dataframe 中的列的各种方法。重命名或更改列的名称是最常见的数据整
理任务之一。如果您没有编程背景并且过去只使用 Excel 电子表格工作,您可能会觉得在 Python 中执行此操作并不容易,因为您
只需在单元格中键入您想要的内容即可轻松重命名 MS Excel 中的列。如果你是数据库背景的话,它类似于SQL中的ALIAS。在
Python?中,有一个流行的数据操作包,称为pandas,它简化了此类数据操作。?在 Pandas 中重命名列的方法在 Pand
as 中,有两种简单的方法来重命名列的名称。第一步是安装pandas 包(如果尚未安装)。!pip show pandas您可以通
过在 Ipython 控制台中运行语句来检查您的计算机上是否安装了该软件包。如果没有安装,可以使用命令安装!pip install
pandas。导入数据集进行练习为了导入数据集,我们使用read_csv( )pandas 包中的函数。import panda
s as pddf = df = pd.read_csv("https://raw.githubusercontent.com/J
ackyP/testing/master/datasets/nycflights.csv", usecols=range(1,17
))要查看数据框中列的名称,请编写以下命令:df.columnsIndex([''year'', ''month'', ''day'', ''d
ep_time'', ''dep_delay'', ''arr_time'', ''arr_delay'', ''carrier'', ''tailn
um'', ''flight'', ''origin'', ''dest'', ''air_time'', ''distance'', ''hour'',
''minute''], dtype=''object'')方法一:rename() 函数假设您要将列名替换year为.?在下面的代码中,
它将创建一个名为的新数据框,具有新的列名称和相同的值。?yearsdf2df2 = df.rename(columns={''yea
r'':''years''})如果您想在同一数据集中进行更改,df您可以尝试此选项inplace = Truedf.rename(col
umns={''year'':''years''}, inplace = True)默认情况下设置了inplace = False ,因此
您需要指定此选项并将其标记为 True。如果要重命名多个列的名称,可以使用逗号分隔符指定其他列。df.rename(columns
={''year'':''years'', ''month'':''months'' }, inplace = True)方法二:datafram
e.columns = [list]您还可以将新列名列表分配给 df.columns。请参阅下面的示例。我们在这里重命名年和月列。
df.columns = [''years'', ''months'', ''day'', ''dep_time'', ''dep_delay'',
''arr_time'', ''arr_delay'', ''carrier'', ''tailnum'', ''flight'', ''origin''
, ''dest'', ''air_time'', ''distance'', ''hour'', ''minute'']重命名具有模式的列假设您要重
命名?名称中包含下划线“_”的列。你想摆脱下划线df.columns = df.columns.str.replace(''_'',
'''')新列名称如下。您可以观察到列名称中没有下划线。 Index([''year'', ''month'', ''day'', ''deptim
e'', ''depdelay'', ''arrtime'', ''arrdelay'', ''carrier'', ''tailnum'', ''fli
ght'', ''origin'', ''dest'', ''airtime'', ''distance'', ''hour'', ''minute''],
dtype=''object'')按位置重命名列如果您想按位置更改列的名称(例如重命名第一列),可以使用下面的代码来完成。df.co
lumns[0]指第一列。df.rename(columns={ df.columns[0]: "Col1" }, inplace
= True) 按顺序重命名列如果您想按数字顺序更改列的名称,可以通过for 循环进行迭代来完成。df.columns=["C
ol"+str(i) for i in range(1, 17)]在下面的代码中df.shape[1]返回没有。数据框中的列数。我
们需要在此处添加 1,因为range(1,17)返回 1、2、3 到 16(不包括 17)。df.columns=["Col"+s
tr(i) for i in range(1, df.shape[1] + 1)]在列名中添加前缀/后缀add_prefix( )
如果您想在现有列名之前或之后添加一些文本,您可以使用和add_suffix( )函数?来完成。df = df.add_prefix
(''V_'')df = df.add_suffix(''_V'')如何访问名称中有空格的列出于演示目的,我们可以通过使用在某些列名中添加
空格df.columns = df.columns.str.replace(''_'' , '' '')。您可以使用语法 df["colu
mnname"] 访问该列df["arr delay"]如何更改行名称使用索引选项,您可以重命名行(或索引)。在下面的代码中,我们
将数据帧 df 中的行名称 0 和 1 更改为“First”和“Second”。通过创建字典并将前一行名称作为键,将新行名称作为值。df.rename(index={0:''First'',1:''Second''}, inplace=True)?
献花(0)
+1
(本文系云端筑梦师A...原创)