Pandas 通过位置重命名列名

Pandas 通过位置重命名列名

在数据清洗和数据分析的工作中,经常需要重命名Dataframe的列名,以方便更好的处理数据。Pandas提供了许多方法来重命名列名的方式,例如通过rename()方法、直接通过名称重命名等等。本文主要讲述如何通过位置重命名Pandas中列名。

阅读更多:Pandas 教程

Pandas 位置相关的方法

在重命名列名之前,我们先来了解一下Pandas中与位置有关的方法。

  • iloc[]: 根据行、列的位置,用.iloc()属性进行选取。行和列的位置从0开始计数。例如:df.iloc[0, :] ,表示选取第一行的所有列。
  • loc[]: 根据行、列的label,用.loc()属性进行选取。行和列的label可以是行列的名称,也可以是布尔值或数组的索引。例如:df.loc[:, ‘A’],表示选取所有行的’A’列

通过位置重命名列名

在Dataframe中,重命名列名有两种方式:

  • 通过重命名所有的列名
  • 通过重命名一个或多个列名

通过重命名所有的列名

假设我们有以下的Dataframe:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df)
# 结果如下:
#    A  B  C
# 0  1  4  7
# 1  2  5  8
# 2  3  6  9
Python

现在我们要通过位置将所有的列名重命名为0、1、2,可以使用columns属性。代码如下:

df.columns = [0, 1, 2]
print(df)
# 结果如下:
#    0  1  2
# 0  1  4  7
# 1  2  5  8
# 2  3  6  9
Python

通过重命名一个或多个列名

假设我们有以下Dataframe:

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df)
# 结果如下:
#    A  B  C
# 0  1  4  7
# 1  2  5  8
# 2  3  6  9
Python

现在我们要通过位置将’A’列名重命名为0,代码如下:

df.columns.values[0] = 0
print(df)
# 结果如下:
#    0  B  C
# 0  1  4  7
# 1  2  5  8
# 2  3  6  9
Python

我们还可以通过rename()方法来重命名,如下所示:

df.rename(columns={df.columns[1]: 'new_name'}, inplace=True)
print(df)
# 结果如下:
#    A  new_name  C
# 0  1         4  7
# 1  2         5  8
# 2  3         6  9
Python

总结

通过以上的示例,我们可以发现在Pandas中通过位置重命名列名有两种方式:一种是通过重命名所有的列名,另一种是通过重命名一个或者多个列名。其中,使用rename()方法可以针对一个或多个列进行重命名,更加灵活方便。在实际使用中,可以根据需求灵活选择使用相应的方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册