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

新增字首

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+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告