如何在 Pandas 中,重命名 DataFrame 的列标题(列名)
                           
天天向上
发布: 2024-12-26 23:07:11

原创
933 人浏览过

在 Pandas 中,重命名 DataFrame 的列标题(列名)是一个常见的操作。你可以通过几种不同的方法来完成此任务,具体方法取决于你的需求和情况。以下是几种有效的重命名列标题的方法:

1. 使用 rename() 方法

rename() 方法可以通过传入一个字典来重命名单个或多个列。字典的键是旧列名,值是新列名。

示例:

import pandas as pd

# 创建示例 DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

# 使用 rename() 重命名列
df = df.rename(columns={'A': 'Column1', 'B': 'Column2'})
print(df)

输出:

   Column1  Column2  C
0        1        4  7
1        2        5  8
2        3        6  9

注意: 使用 rename() 默认会返回一个新的 DataFrame。如果你希望修改原始 DataFrame,可以设置 inplace=True

df.rename(columns={'A': 'Column1', 'B': 'Column2'}, inplace=True)

2. 直接赋值给 columns 属性

如果你想要重命名所有列,可以直接将一个新的列名列表赋值给 df.columns

示例:

# 重命名所有列
df.columns = ['Column1', 'Column2', 'Column3']
print(df)

输出:

   Column1  Column2  Column3
0        1        4        7
1        2        5        8
2        3        6        9

这种方法适用于重命名所有列时,且列数与原 DataFrame 的列数相匹配。


3. 使用 set_axis() 方法

set_axis() 方法可以重新设置 DataFrame 的轴(包括列名)。通过将列名列表传递给 set_axis(),可以重命名列。

示例:

# 使用 set_axis 重命名列
df = df.set_axis(['Column1', 'Column2', 'Column3'], axis=1, inplace=False)
print(df)

输出:

   Column1  Column2  Column3
0        1        4        7
1        2        5        8
2        3        6        9

如果你希望就地修改 DataFrame,可以设置 inplace=True

df.set_axis(['Column1', 'Column2', 'Column3'], axis=1, inplace=True)

4. 使用 add_prefix()add_suffix()

如果你希望为所有列名添加一个前缀或后缀,可以使用 add_prefix()add_suffix() 方法。这对于批量修改列名时非常方便。

示例:

# 给所有列名添加前缀
df = df.add_prefix('Prefix_')
print(df)

输出:

   Prefix_Column1  Prefix_Column2  Prefix_Column3
0               1               4               7
1               2               5               8
2               3               6               9

同样,也可以使用 add_suffix() 来为列名添加后缀。

# 给所有列名添加后缀
df = df.add_suffix('_Suffix')
print(df)

输出:

   Column1_Suffix  Column2_Suffix  Column3_Suffix
0               1               4               7
1               2               5               8
2               3               6               9

总结

  1. rename():适用于部分列重命名,灵活且可用于单独或多个列。
  2. 直接赋值给 columns:适用于重命名所有列时,简洁高效。
  3. set_axis():可用于更改整个轴(列或行),适合批量更改列名。
  4. add_prefix()add_suffix():用于为列名添加统一的前缀或后缀,批量处理时非常方便。

选择适当的重命名方法,可以让你的代码更清晰且易于维护。

发表回复 0

Your email address will not be published. Required fields are marked *