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')


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载