📜  pandas 数据框重命名列 - Python (1)

📅  最后修改于: 2023-12-03 14:45:04.282000             🧑  作者: Mango

pandas 数据框重命名列 - Python

在数据分析中,我们经常需要对列名进行重命名,以更好的表达数据含义。在 Pandas 中,我们可以使用 rename 方法来实现这个功能。

重命名单个列

我们可以使用 rename 方法来重命名单个列,比如将 old_name 列重命名为 new_name 列:

import pandas as pd

df = pd.DataFrame({'old_name': [1, 2], 'value': [3, 4]})

df.rename(columns={'old_name': 'new_name'}, inplace=True)

print(df)

运行上面的代码,输出如下:

   new_name  value
0         1      3
1         2      4

可以看到,old_name 列被成功地重命名为了 new_name 列。需要注意的是,inplace=True 参数表示直接修改原始数据框而不是返回修改后的副本。

重命名多个列

如果需要一次性重命名多个列,我们可以将需要重命名的列名和它们对应的新列名保存到一个字典中,并传递给 rename 方法。比如将同时将 old_name1old_name2 列重命名:

import pandas as pd

df = pd.DataFrame({'old_name1': [1, 2], 'old_name2': [3, 4], 'value': [5, 6]})

df.rename(columns={'old_name1': 'new_name1', 'old_name2': 'new_name2'}, inplace=True)

print(df)

输出如下:

   new_name1  new_name2  value
0          1          3      5
1          2          4      6
通过函数重命名列名

在某些情况下,我们可能需要通过一些函数来动态地生成新的列名。比如将所有列名转换为大写:

import pandas as pd

df = pd.DataFrame({'old_name1': [1, 2], 'old_name2': [3, 4], 'value': [5, 6]})

df.rename(columns=str.upper, inplace=True)

print(df)

输出如下:

   OLD_NAME1  OLD_NAME2  VALUE
0          1          3      5
1          2          4      6

这里使用了 Python 内置函数 str.upper 将字符串转换为大写形式。

结论

本文介绍了 Pandas 中重命名列的方法,包括重命名单个列和多个列,以及通过函数动态生成新的列名。掌握这些技巧将有助于我们更好地表达数据含义,提高数据分析的效率。