pandas 列更名

pandas 列更名

pandas 列更名

在数据处理过程中,经常需要对数据框中的列进行更名操作。pandas 提供了 rename() 方法来实现列更名操作。本文将详细介绍如何使用 pandas 进行列更名,并且会给出多个实际案例来帮助读者更好地理解这一操作。

基本用法

我们先来看一个简单的示例,假设我们有一个包含两列的数据框,分别为 ‘old_name1’ 和 ‘old_name2’:

import pandas as pd

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

运行上述代码,得到的输出为:

   old_name1  old_name2
0          1          4
1          2          5
2          3          6

现在我们想将列 ‘old_name1’ 和 ‘old_name2’ 更名为 ‘new_name1’ 和 ‘new_name2’,可以使用 rename() 方法:

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

运行上述代码,得到的输出为:

   new_name1  new_name2
0          1          4
1          2          5
2          3          6

可以看到,列名已经成功更改为了 ‘new_name1’ 和 ‘new_name2’。

案例分析

接下来,我们将通过几个案例来演示列更名的更多用法。

案例一:单个列更名

假设我们有一个包含两列的数据框,分别为 ‘A’ 和 ‘B’:

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
print(df)

运行上述代码,得到的输出为:

   A  B
0  1  4
1  2  5
2  3  6

现在我们想将列 ‘A’ 更名为 ‘C’,可以使用 rename() 方法:

df = df.rename(columns={'A': 'C'})
print(df)

运行上述代码,得到的输出为:

   C  B
0  1  4
1  2  5
2  3  6

案例二:根据条件更名

有时候,我们可能需要根据条件对列进行更名。例如,如果列名包含字符串 ‘geek-docs.com’,我们想将该列更名为 ‘new_column’:

data = {'column1_geek-docs.com': [1, 2, 3], 'column2': [4, 5, 6]}
df = pd.DataFrame(data)
print(df)

运行上述代码,得到的输出为:

   column1_geek-docs.com  column2
0                      1        4
1                      2        5
2                      3        6

我们可以使用 rename() 方法和 lambda 函数来实现:

df = df.rename(columns=lambda x: 'new_column' if 'geek-docs.com' in x else x)
print(df)

运行上述代码,得到的输出为:

   new_column  column2
0           1        4
1           2        5
2           3        6

案例三:一次更名多列

当需要一次性更名多列时,可以将需要更名的列名与新列名一一对应地传入 rename() 方法。例如,我们有一个数据框,包含列 ‘old_name1’、’old_name2’、’old_name3’,我们想将它们一次性更名为 ‘new_name1’、’new_name2’、’new_name3’:

data = {'old_name1': [1, 2, 3], 'old_name2': [4, 5, 6], 'old_name3': [7, 8, 9]}
df = pd.DataFrame(data)
print(df)

运行上述代码,得到的输出为:

   old_name1  old_name2  old_name3
0          1          4          7
1          2          5          8
2          3          6          9

我们可以这样操作:

df = df.rename(columns={'old_name1': 'new_name1', 'old_name2': 'new_name2', 'old_name3': 'new_name3'})
print(df)

运行上述代码,得到的输出为:

   new_name1  new_name2  new_name3
0          1          4          7
1          2          5          8
2          3          6          9

总结

通过本文的介绍和案例分析,相信读者对 pandas 中的列更名操作有了更深入的了解。使用 rename() 方法可以快速简便地对数据框中的列名进行更改,提高了数据处理的效率。读者可以根据实际需求灵活运用列更名操作,提高数据处理的效率和准确性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程