📜  如何重命名 Pandas DataFrame 中的列

📅  最后修改于: 2022-05-13 01:55:40.663000             🧑  作者: Mango

如何重命名 Pandas DataFrame 中的列

给定一个 Pandas DataFrame,让我们看看如何重命名列名。

关于 Pandas 数据框:
Pandas DataFrame 是用于存储数据的矩形网格。当存储在 dataFrame 中时,很容易可视化和处理数据。

  • 它由行和列组成。
  • 每行是某个实例的度量,而列是一个向量,其中包含某些特定属性/变量的数据。
  • 每个数据框列在任何特定列中都有同质数据,但数据框行可以在任何特定行中包含同质或异构数据。
  • 与二维数组不同,pandas 数据框轴被标记。

方法 #1:使用rename()函数。

重命名 Pandas 数据框中的列的一种方法是使用rename()函数。当我们需要重命名某些选定的列时,此方法非常有用,因为我们只需要为要重命名的列指定信息。

重命名单个列。

# Import pandas package
import pandas as pd
   
# Define a dictionary containing ICC rankings
rankings = {'test': ['India', 'South Africa', 'England',
                            'New Zealand', 'Australia'],
              'odi': ['England', 'India', 'New Zealand',
                            'South Africa', 'Pakistan'],
               't20': ['Pakistan', 'India', 'Australia',
                              'England', 'New Zealand']}
   
# Convert the dictionary into DataFrame
rankings_pd = pd.DataFrame(rankings)
   
# Before renaming the columns
print(rankings_pd)
   
rankings_pd.rename(columns = {'test':'TEST'}, inplace = True)
   
# After renaming the columns
print("\nAfter modifying first column:\n", rankings_pd.columns)

输出:

重命名多个列。

# Import pandas package
import pandas as pd
   
# Define a dictionary containing ICC rankings
rankings = {'test': ['India', 'South Africa', 'England',
                            'New Zealand', 'Australia'],
              'odi': ['England', 'India', 'New Zealand',
                            'South Africa', 'Pakistan'],
               't20': ['Pakistan', 'India', 'Australia',
                              'England', 'New Zealand']}
   
# Convert the dictionary into DataFrame
rankings_pd = pd.DataFrame(rankings)
   
# Before renaming the columns
print(rankings_pd.columns)
   
rankings_pd.rename(columns = {'test':'TEST', 'odi':'ODI',
                              't20':'T20'}, inplace = True)
   
# After renaming the columns
print(rankings_pd.columns)

输出:


方法#2:通过分配新列名的列表

也可以通过直接将包含新名称的列表分配给我们要为其重命名列的数据框对象的columns属性来重命名列。这种方法的缺点是我们需要为所有列提供新名称,即使只想重命名某些列。

# Import pandas package
import pandas as pd
  
# Define a dictionary containing ICC rankings
rankings = {'test': ['India', 'South Africa', 'England',
                            'New Zealand', 'Australia'],
              'odi': ['England', 'India', 'New Zealand',
                            'South Africa', 'Pakistan'],
               't20': ['Pakistan', 'India', 'Australia',
                              'England', 'New Zealand']}
  
# Convert the dictionary into DataFrame
rankings_pd = pd.DataFrame(rankings)
  
# Before renaming the columns
print(rankings_pd.columns)
  
rankings_pd.columns = ['TEST', 'ODI', 'T-20']
  
# After renaming the columns
print(rankings_pd.columns)

输出: