
- Python Pandas 教程
- Python Pandas - 首頁
- Python Pandas - 簡介
- Python Pandas - 環境搭建
- Python Pandas - 基礎知識
- Python Pandas - 資料結構簡介
- Python Pandas - 索引物件
- Python Pandas - 面板 (Panel)
- Python Pandas - 基本功能
- Python Pandas - 索引和資料選擇
- Python Pandas - Series
- Python Pandas - Series
- Python Pandas - Series 物件切片
- Python Pandas - Series 物件屬性
- Python Pandas - Series 物件的算術運算
- Python Pandas - 將 Series 轉換為其他物件
- Python Pandas - DataFrame
- Python Pandas - DataFrame
- Python Pandas - 訪問 DataFrame
- Python Pandas - DataFrame 物件切片
- Python Pandas - 修改 DataFrame
- Python Pandas - 從 DataFrame 中刪除行
- Python Pandas - DataFrame 的算術運算
- Python Pandas - I/O 工具
- Python Pandas - I/O 工具
- Python Pandas - 使用 CSV 格式
- Python Pandas - 讀取和寫入 JSON 檔案
- Python Pandas - 從 Excel 檔案讀取資料
- Python Pandas - 將資料寫入 Excel 檔案
- Python Pandas - 使用 HTML 資料
- Python Pandas - 剪貼簿
- Python Pandas - 使用 HDF5 格式
- Python Pandas - 與 SQL 的比較
- Python Pandas - 資料處理
- Python Pandas - 排序
- Python Pandas - 重索引
- Python Pandas - 迭代
- Python Pandas - 級聯
- Python Pandas - 統計函式
- Python Pandas - 描述性統計
- Python Pandas - 處理文字資料
- Python Pandas - 函式應用
- Python Pandas - 選項和自定義
- Python Pandas - 視窗函式
- Python Pandas - 聚合
- Python Pandas - 合併/連線
- Python Pandas - 多級索引 (MultiIndex)
- Python Pandas - 多級索引基礎
- Python Pandas - 使用多級索引進行索引
- Python Pandas - 使用多級索引的高階重索引
- Python Pandas - 重新命名多級索引標籤
- Python Pandas - 對多級索引進行排序
- Python Pandas - 二元運算
- Python Pandas - 二元比較運算
- Python Pandas - 布林索引
- Python Pandas - 布林掩碼
- Python Pandas - 資料重塑和透視
- Python Pandas - 透視表
- Python Pandas - 堆疊和取消堆疊
- Python Pandas - 熔化 (Melting)
- Python Pandas - 計算虛擬變數
- Python Pandas - 分類資料
- Python Pandas - 分類資料
- Python Pandas - 分類資料的排序和分類
- Python Pandas - 分類資料的比較
- Python Pandas - 處理缺失資料
- Python Pandas - 缺失資料
- Python Pandas - 填充缺失資料
- Python Pandas - 缺失值的插值
- Python Pandas - 刪除缺失資料
- Python Pandas - 包含缺失資料的計算
- Python Pandas - 處理重複資料
- Python Pandas - 重複資料
- Python Pandas - 計數和檢索唯一元素
- Python Pandas - 重複標籤
- Python Pandas - 分組和聚合
- Python Pandas - GroupBy
- Python Pandas - 時間序列資料
- Python Pandas - 日期功能
- Python Pandas - 時間差 (Timedelta)
- Python Pandas - 稀疏資料結構
- Python Pandas - 稀疏資料
- Python Pandas - 視覺化
- Python Pandas - 視覺化
- Python Pandas - 其他概念
- Python Pandas - 警告和陷阱
- Python Pandas - 有用資源
- Python Pandas - 快速指南
- Python Pandas - 有用資源
- Python Pandas - 討論
Python Pandas - 重新命名多級索引標籤
重新命名 Pandas 資料結構的多級索引標籤或名稱是一項常見任務,尤其是在處理分層資料集時。它涉及重新命名多級索引物件的特定標籤、軸名稱或索引級別。Pandas 提供了靈活的方法,例如 rename()、rename_axis() 和 set_names(),可以高效地處理這些任務。無論您是想重新命名特定標籤,更改索引或列軸的名稱,還是更新索引級別的整個層次結構,這些方法都非常有用。
在本教程中,您將學習在 Pandas 中重新命名多級索引資料結構的標籤和名稱的各種方法。
使用 rename() 重新命名多級索引標籤
要重新命名多級索引物件中索引或列的標籤,可以使用 pandas 的 DataFame.rename() 方法。此方法使用 index 和 columns 引數,可用於重新命名 pandas 物件中索引或列中的單個標籤。
示例:重新命名特定的索引標籤
這是一個使用 df.rename() 方法重新命名多級索引 DataFrame 的特定索引標籤的基本示例。
import pandas as pd # Create a MultiIndex object index = pd.MultiIndex.from_tuples([('A', 'one'), ('A', 'two'), ('A', 'three'),('B', 'one'), ('B', 'two'), ('B', 'three')]) # Create a DataFrame data = [[1, 2], [3, 4], [1, 1], [5, 6], [7, 8], [2, 2]] df = pd.DataFrame(data, index=index, columns=['X', 'Y']) # Display the input DataFrame print('Original MultiIndexed DataFrame:\n',df) # Renaming specific index labels df_renamed = df.rename(index={"A": "aaa", "one": "1"}) print("Renamed DataFrame:") print(df_renamed)
以下是上述程式碼的輸出:
Original MultiIndexed DataFrame:
X | Y | ||
---|---|---|---|
A | one | 1 | 2 |
two | 3 | 4 | |
three | 1 | 1 | |
B | one | 5 | 6 |
two | 7 | 8 | |
three | 2 | 2 |
X | Y | ||
---|---|---|---|
aaa | 1 | 1 | 2 |
two | 3 | 4 | |
three | 1 | 1 | |
B | 1 | 5 | 6 |
two | 7 | 8 | |
three | 2 | 2 |
示例:重新命名特定的列標籤
以下是另一個使用 df.rename() 方法重新命名多級索引 DataFrame 的特定列標籤的示例。
import pandas as pd # Create a MultiIndex object index = pd.MultiIndex.from_tuples([('A', 'one'), ('A', 'two'), ('A', 'three'),('B', 'one'), ('B', 'two'), ('B', 'three')]) # Create a DataFrame data = [[1, 2], [3, 4], [1, 1], [5, 6], [7, 8], [2, 2]] df = pd.DataFrame(data, index=index, columns=['X', 'Y']) # Display the input DataFrame print('Original MultiIndexed DataFrame:\n',df) # Renaming columns df_renamed = df.rename(columns={'X': "col0", 'Y': "col1"}) print("Renamed DataFrame:") print(df_renamed)
以下是上述程式碼的輸出:
Original MultiIndexed DataFrame:
X | Y | ||
---|---|---|---|
A | one | 1 | 2 |
two | 3 | 4 | |
three | 1 | 1 | |
B | one | 5 | 6 |
two | 7 | 8 | |
three | 2 | 2 |
col0 | col1 | ||
---|---|---|---|
A | one | 1 | 2 |
two | 3 | 4 | |
three | 1 | 1 | |
B | one | 5 | 6 |
two | 7 | 8 | |
three | 2 | 2 |
重新命名多級索引軸名稱
pandas 的 DataFrame.rename_axis() 方法用於重新命名或設定多級索引中索引級別的名稱。在使用多級索引時,這尤其有用。
示例:指定/重新命名索引級別的名稱
此示例演示了使用 df.rename_axis() 方法重新命名多級索引 DataFrame 中索引級別名稱的方法。
import pandas as pd # Create a MultiIndex object index = pd.MultiIndex.from_tuples([('A', 'one'), ('A', 'two'), ('A', 'three'),('B', 'one'), ('B', 'two'), ('B', 'three')]) # Create a DataFrame data = [[1, 2], [3, 4], [1, 1], [5, 6], [7, 8], [2, 2]] df = pd.DataFrame(data, index=index, columns=['X', 'Y']) # Display the input DataFrame print('Original MultiIndexed DataFrame:\n',df) # Set names for the index levels result = df.rename_axis(index=["level1", "level2"]) print("Resultant DataFrame:") print(result)
以下是上述程式碼的輸出:
Original MultiIndexed DataFrame:
X | Y | ||
---|---|---|---|
A | one | 1 | 2 |
two | 3 | 4 | |
three | 1 | 1 | |
B | one | 5 | 6 |
two | 7 | 8 | |
three | 2 | 2 |
X | Y | ||
---|---|---|---|
level1 | level2 | ||
A | one | 1 | 2 |
two | 3 | 4 | |
three | 1 | 1 | |
B | one | 5 | 6 |
two | 7 | 8 | |
three | 2 | 2 |
使用 set_names() 重新命名多級索引級別
pandas 的 Index.set_names() 方法用於直接重新命名多級索引的級別。此方法允許您設定或更改索引中各個級別的名稱。
示例:重新命名多級索引級別的名稱
此示例演示瞭如何使用 Index.set_names() 方法更改多級索引級別的名稱。
import pandas as pd # Create a MultiIndex object index = pd.MultiIndex.from_tuples([('A', 'one'), ('A', 'two'), ('A', 'three'),('B', 'one'), ('B', 'two'), ('B', 'three')], names=["level0", "level1"]) # Create a DataFrame data = [[1, 2], [3, 4], [1, 1], [5, 6], [7, 8], [2, 2]] df = pd.DataFrame(data, index=index, columns=['X', 'Y']) # Display the input DataFrame print('Original MultiIndexed DataFrame:\n',df) # Renaming a specific level df.index= df.index.set_names("new_name", level=0) print("Resultant DataFrame:") print(df)
以下是上述程式碼的輸出:
Original MultiIndexed DataFrame:
X | Y | ||
---|---|---|---|
level1 | level2 | ||
A | one | 1 | 2 |
two | 3 | 4 | |
three | 1 | 1 | |
B | one | 5 | 6 |
two | 7 | 8 | |
three | 2 | 2 |
X | Y | ||
---|---|---|---|
new_name | level2 | ||
A | one | 1 | 2 |
two | 3 | 4 | |
three | 1 | 1 | |
B | one | 5 | 6 |
two | 7 | 8 | |
three | 2 | 2 |
廣告