欢迎访问宙启技术站
智能推送

怎么重命名Pandas DataFrame中的列名

发布时间:2023-05-15 20:33:27

在Pandas Dataframe中重命名列名非常简单,只需要使用rename()方法。rename()方法接受一个字典参数,其中键是原始列名,值是新的列名。

让我们从一个简单的例子开始。假设我们有以下Dataframe:

import pandas as pd

data = {'name': ['John', 'Paul', 'George', 'Ringo'],
        'age': [22, 21, 23, 23],
        'city': ['New York', 'London', 'Liverpool', 'Liverpool']}

df = pd.DataFrame(data)
print(df)

这将输出以下内容:

      name  age       city
0     John   22   New York
1     Paul   21     London
2   George   23  Liverpool
3    Ringo   23  Liverpool

假设我们想将列“name”重命名为“firstname”,列“age”重命名为“age_in_years”,并将列“city”保持不变。通过使用rename()方法,我们可以轻松地实现这一点:

new_col_names = {'name': 'firstname', 'age': 'age_in_years'}
df = df.rename(columns=new_col_names)
print(df)

这将输出以下内容:

  firstname  age_in_years       city
0      John            22   New York
1      Paul            21     London
2    George            23  Liverpool
3     Ringo            23  Liverpool

请注意,我们只传递了要重命名的列和新列的名称的字典。将此字典传递给rename()方法将列名更改为新名称。我们还可以使用inplace参数来表示是否要更改Dataframe本身,而不是返回一个新的Dataframe。

在rename()方法中,还可以使用axis参数来指定列名更改的方向。例如,当axis = 1时将更改列名,当axis = 0时将更改索引名称。

df.rename(columns={'name': 'firstname', 'age': 'age_in_years'}, inplace=True)

使用inplace = True参数可以直接修改Dataframe,这样就不需要为返回值重新分配变量。

除了使用字典来重命名列以外,还可以使用其他参数来使用函数或使用字符串格式来重命名列名。

例如,要将所有列名转换为小写:

df.columns = map(str.lower, df.columns)

使用.map()方法对所有列名进行操作,并使用str.lower()函数将它们转换为小写。

要使用字符串格式进行重命名:

df.columns = ['first_name', 'age_in_years', 'hometown']

这将使用一个列表将列名重命名为指定的名称。注意,在这种情况下,您必须给出所有列名,如果没有给出所有列名,您将失去未命名列所包含的信息。

在此简短的教程中,我们学习了如何使用Pandas Dataframe的rename()方法重命名列名。通过简单地定义一个字典,我们可以将一列重命名为另一列。我们还了解了其他的重命名选项,例如使用函数或字符串格式来重命名列名。来试试吧!