首页 > 解决方案 > 数据框重命名列

问题描述

CSV 文件中的数据样本

Model,Displ,Cyl,Trans,Drive,Fuel,Cert Region,Stnd,Stnd Description,Underhood ID,Veh Class,Air Pollution Score,City MPG,Hwy MPG,Cmb MPG,Greenhouse Gas Score,SmartWay,Comb CO2

ACURA RDX,3.5,6,SemiAuto-6,2WD,Gasoline,FA,T3B125,Federal Tier 3 Bin 125,JHNXT03.5GV3,small SUV,3,20,28,23,5,No,386
import pandas as pd
df_18 = pd.read_csv('file name')

请求:重命名所有列标签以用下划线替换空格并将所有内容转换为小写。下面的代码确实有效,我不知道为什么

df_18.rename(str.lower().str.strip().str.replace(" ","_"),axis=1,inplace=True)

标签: pythondataframerename

解决方案


您可以直接将列名列表分配给pandas.DataFrame.columns; 您可以在列表理解中对每个列名执行所需的操作,即lowerstripreplace,并将其分配回dataframe.columns

df_18.columns = [col.lower().strip().replace(" ","_") for col  in df_18]

输出:

       model  displ  cyl  ... greenhouse_gas_score smartway comb_co2
0  ACURA RDX    3.5    6  ...                    5       No      386
[1 rows x 18 columns]

推荐阅读