Python – Pandas DataFrame 中更改列名和行索引


Pandas 是一个 Python 库,它提供了许多 Python 标准库中没有的数据分析功能。其中一项功能就是使用 DataFrame。它们是表示列和行的矩形网格。在创建 DataFrame 时,我们决定列的名称并在后续数据操作中引用它们。但是,在创建 DataFrame 后,我们可能需要更改列的名称。在本文中,我们将学习如何实现这一点。

使用 rename()

这是最常用的方法,因为我们可以使用此方法更改列和行索引。我们只需将旧值和新值作为键值对字典传递给此方法,并使用新名称保存 DataFrame。

示例

 在线演示

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。再次使用 DataFrame 时,将引用新的列名。

示例

 在线演示

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

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

添加前缀

Pandas DataFrame 提供了向列名添加前缀和后缀的方法。我们只需使用此方法添加所需的前缀,该前缀将附加到每个列名。

示例

 在线演示

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

更新于:2020年1月2日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告