Python机器学习(八十九)Pandas 整理列名


关于数据集的列名,通常建议最好使用小写字母,删除特殊字符,并用下划线替换空格。有时数据集的列名可能不是很规范,需要整理修改理列名。

获取DataFrame的列名

获取DataFrame的列名,可以使用DataFrame.columns属性。

movies_df.columns

输出

Index(['Rank', 'Genre', 'Description', 'Director', 'Actors', 'Year',
       'Runtime (Minutes)', 'Rating', 'Votes', 'Revenue (Millions)',
       'Metascore'],
      dtype='object')

使用rename方法重命名列名

要重命名列名,可以使用DataFrame.rename()方法,该方法的参数是包含新旧列名的字典。

movies_df.rename(columns={
        'Runtime (Minutes)': 'Runtime', 
        'Revenue (Millions)': 'Revenue_millions'
    }, inplace=True)

movies_df.columns

输出

Index(['Rank', 'Genre', 'Description', 'Director', 'Actors', 'Year', 'Runtime',
       'Rating', 'Votes', 'Revenue_millions', 'Metascore'],
      dtype='object')

但是如果我们想把所有的名字都小写呢?除了使用.rename(),我们还可以为列设置一个名称列表,如下所示:

使用columns属性重命名列名

除了rename方法,columns属性也可重命名列名。

movies_df.columns = ['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime', 
                     'rating', 'votes', 'revenue_millions', 'metascore']

movies_df.columns

输出

Index(['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime',
       'rating', 'votes', 'revenue_millions', 'metascore'],
      dtype='object')

上面指定名称的代码过于繁琐,可以使用更简洁的循环:

movies_df.columns = [col.lower() for col in movies_df]

movies_df.columns

输出

Index(['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime',
       'rating', 'votes', 'revenue_millions', 'metascore'],
      dtype='object')

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM