Pandas:如何用字典重命名列


您可以使用以下基本语法在 pandas 中使用字典重命名列:

 #define dictionary
some_dict = {' old_col1 ': ' new_col1 ',
             ' old_col2 ': ' new_col2 ',
             ' old_col3 ': ' new_col3 '}
 
#rename columns in DataFrame using dictionary
df. rename (columns=some_dict, inplace= True )

注意:必须指定inplace=True才能修改原始 DataFrame 的列名称。

以下示例展示了如何在实践中使用此语法。

示例:使用字典重命名 Pandas 中的列

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' rebounds ': [10, 14, 14, 13, 13, 12, 10, 7],
                    ' points ': [30, 22, 19, 14, 14, 11, 20, 28],
                    ' assists ': [5, 6, 6, 5, 8, 7, 7, 9]})

#view DataFrame
print (df)

   rebound points assists
0 10 30 5
1 14 22 6
2 14 19 6
3 13 14 5
4 13 14 8
5 12 11 7
6 10 20 7
7 7 28 9

我们可以使用以下语法使用字典重命名 DataFrame 中的每一列:

 #define dictionary with new column names
some_dict = {' rebounds ': ' rebs ',
             ' points ': ' pts ',
             ' assists ': ' ast '}
 
#rename columns in DataFrame using dictionary
df. rename (columns=some_dict, inplace= True )

#view updated DataFrame
print (df)

   rebs pts ast
0 10 30 5
1 14 22 6
2 14 19 6
3 13 14 5
4 13 14 8
5 12 11 7
6 10 20 7
7 7 28 9

请注意,每一列都已根据我们在字典中指定的值进行了重命名。

值得注意的是,您不必使用字典重命名每一列。

例如,我们可以创建一个字典来仅重命名 DataFrame 的辅助列:

 #define dictionary with new column names for points and assists only
some_dict = {' points ':' pts ',
             ' assists ': ' ast '}
 
#rename columns in DataFrame using dictionary
df. rename (columns=some_dict, inplace= True )

#view updated DataFrame
print (df)

   rebounds pts ast
0 10 30 5
1 14 22 6
2 14 19 6
3 13 14 5
4 13 14 8
5 12 11 7
6 10 20 7
7 7 28 9

仅对得分助攻栏进行了重命名。

由于反弹列未包含在字典中,因此未在 DataFrame 中重命名。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何列出 Pandas 中的所有列名称
如何在 Pandas 中按名称对列进行排序
如何删除 Pandas 中的重复列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注