Python-在Pandas DataFrame中更改列名和行索引
Pandas是一个python库,提供了许多数据分析功能,而这些功能在python标准库中是不可用的。一种这样的功能是使用数据帧。它们是代表列和行的矩形网格。在创建数据框时,我们确定列的名称,并在随后的数据操作中引用它们。但是在某些情况下,我们需要在创建数据框后更改列的名称。在本文中,我们将看到如何实现这一目标。
使用rename()
这是最优选的方法,因为我们可以使用此方法更改列索引和行索引。我们只是将旧值和新值作为键值对的字典传递给此方法,并使用新名称保存数据框。
示例
import pandas as pd df = pd.DataFrame({ 'ColumnA': [23, 92, 32], 'ColumnB': [54, 76, 43], 'ColumnC': [16, 45, 10] }, index=['10-20', '20-30', '30-40']) df_renamed = df.rename(columns={'ColumnA': 'Col1', 'ColumnB': 'Col2', 'ColumnC': 'Col3'}, index={'10-20': '1', '20-30': '2', '30-40': '3'}) print(df) print("\n",df_renamed)
输出结果
运行上面的代码将为我们提供以下结果:
ColumnA ColumnB ColumnC 10-20 23 54 16 20-30 92 76 45 30-40 32 43 10 Col1 Col2 Col3 1 23 54 16 2 92 76 45 3 32 43 10
使用df.columns
可以直接为df.columns分配新的列名。当再次使用数据框时,将引用新的列名。
示例
import pandas as pd df = pd.DataFrame({ 'ColumnA': [23, 92, 32], 'ColumnB': [54, 76, 43], 'ColumnC': [16, 45, 10] }, index=['10-20', '20-30', '30-40']) df.columns=["Length","Breadth","Depth"] print(df)
输出结果
运行上面的代码将为我们提供以下结果:
Length Breadth Depth 10-20 23 54 16 20-30 92 76 45 30-40 32 43 10
通过添加前缀
Pandas数据框提供了为列名添加前缀和后缀的方法。我们只需使用此方法来添加所需的前缀,该前缀将附加到每个列名称中。
示例
import pandas as pd df = pd.DataFrame({ 'ColA': [23, 92, 32], 'ColB': [54, 76, 43], 'ColC': [16, 45, 10] }, index=['10-20', '20-30', '30-40']) print(df.add_prefix('Jan-'))
输出结果
运行上面的代码将为我们提供以下结果:
Jan-ColA Jan-ColB Jan-ColC 10-20 23 54 16 20-30 92 76 45 30-40 32 43 10