数据帧重命名列

2024-10-03 04:38:51 发布

您现在位置:Python中文网/ 问答频道 /正文

来自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)

Tags: 文件csv数据示例dftransmodeldrive
3条回答

有很多方法可以重命名列

reference for renaming columns

reference for replace string

您可以使用下面的代码

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

    if new_column_name != column:
        df_18[new_column_name] = df_18[column]
        del df_18[column]

您可以直接将列名列表分配给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]

相关问题 更多 >