【Pandas】pandas DataFrame droplevel

Pandas2.2 DataFrame

Reshaping sorting transposing

方法描述
DataFrame.droplevel(level[, axis])用于**從 DataFrame 的索引(行或列)中刪除指定層級(level)**的方法

pandas.DataFrame.droplevel()

pandas.DataFrame.droplevel() 是一個用于**從 DataFrame 的索引(行或列)中刪除指定層級(level)**的方法。它通常用于處理具有多級索引(MultiIndex)的 DataFrame,可以靈活地移除不需要的索引層級。


📌 方法簽名
DataFrame.droplevel(level, axis=0)

🔧 參數說明
參數類型說明
levelint、str 或 list of int/str要刪除的索引層級,可以是層級編號(從 0 開始)或層級名稱
axis{0/'index', 1/'columns'},默認為 0指定操作的是行索引(0)還是列索引(1

? 返回值
  • 返回一個新的 DataFrame,其中指定的索引層級被刪除;
  • 原始數據不會被修改,除非設置 inplace=True

🧪 示例代碼及結果
示例 1:基本用法 - 刪除行索引中的某一層
import pandas as pd
import numpy as np# 創建一個多級行索引 DataFrame
arrays = [['A', 'A', 'B', 'B'],['one', 'two', 'one', 'two']
]
index = pd.MultiIndex.from_arrays(arrays, names=('outer', 'inner'))
df = pd.DataFrame({'data': [1, 2, 3, 4]}, index=index)print("Original DataFrame:")
print(df)
輸出:
                data
outer inner        
A     one          1two          2
B     one          3two          4
# 刪除 inner 層索引
df_dropped = df.droplevel('inner')
print("\nAfter droplevel('inner'):")
print(df_dropped)
輸出:
       data
outer       
A         1
A         2
B         3
B         4

示例 2:刪除多個層級
# 創建一個多級列索引 DataFrame
arrays = [['X', 'X', 'Y', 'Y'],['a', 'b', 'a', 'b']
]
columns = pd.MultiIndex.from_arrays(arrays, names=('group', 'sub'))
df_multi_col = pd.DataFrame(np.random.randn(2, 4), columns=columns)print("Original Multi-column DataFrame:")
print(df_multi_col)
輸出示例(隨機數):
group          X                   Y          
sub            a         b         a         b
0       0.496714 -0.138264  0.647689  1.523030
1      -0.234137  1.579213  0.767435 -0.469474
# 刪除列索引中的 'sub' 層
df_dropped_cols = df_multi_col.droplevel('sub', axis=1)
print("\nAfter droplevel('sub', axis=1):")
print(df_dropped_cols)
輸出示例:
group         X         Y
0      0.496714  0.647689
1     -0.234137  0.767435

示例 3:通過層級編號刪除
# 使用層級編號刪除 outer 層(level=0)
df_dropped_by_index = df.droplevel(0)
print("\nAfter droplevel(0):")
print(df_dropped_by_index)
輸出:
       data
inner      
one       1
two       2
one       3
two       4

🧠 應用場景
場景說明
簡化多級索引結構移除不必要的索引層級以提升可讀性
準備數據導出在輸出到 CSV、Excel 等格式前清理索引
重塑數據結構配合 stack() / unstack() 進行更復雜的索引變換
數據分析前預處理清理冗余索引層級以便后續分析

?? 注意事項
  • droplevel() 不會修改原始數據,除非設置 inplace=True
  • 可以通過層級名或層級編號進行刪除;
  • 支持一次刪除多個層級(傳入列表);
  • 適用于行索引(axis=0)和列索引(axis=1);
  • 如果刪除后只剩一個層級,索引將變為普通 Index 而非 MultiIndex

? 總結對比
方法是否推薦使用說明
droplevel(level)? 推薦快速刪除指定索引層級
droplevel(level, axis=1)? 推薦刪除列索引層級

你可以根據實際需求選擇刪除行或列索引中的特定層級,從而更好地控制數據結構和索引布局。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84776.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84776.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84776.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Delivering Arbitrary-Modal Semantic Segmentation(CVPR2023)任意模態語義分割論文閱讀

文章目錄 文章研究思路創建了DeLiVER任意模態分割基準數據集統計信息4種模態25個語義類 提出了任意跨模態分割模型CMNeXt自查詢中心(Self-Query Hub,SQ-Hub)并行池化混合器(Parallel Pooling Mixer,PPX) 實…

進程控制

一. 進程創建 1.fork的概念與使用 在 Linux 中 fork 可以在一個進程中創建一個新的進程。這個新進程稱為子進程&#xff0c;原進程為父進程。使用前需要包含頭文件 #include <unistd.h> 。在調用 fork 函數時&#xff0c;子進程與父進程會共享數據和代碼&#xff0c;此…

造輪子系列:從0到1打造生產級HTTP客戶端,優雅封裝OkHttp/HttpClient,支持異步、重試與文件操作

TechZhi HTTP Client Starter 源碼特性快速開始1. 添加依賴2. 配置3. 使用 主要功能支持的HTTP方法文件操作功能高級功能配置示例 API使用示例基本請求自定義請求異步請求文件操作示例錯誤處理 構建和測試依賴說明 本文將介紹一款本人開發的高性能Spring Boot HTTP客戶端Starte…

Java過濾器的基本概念

概述 Java 過濾器是 Java EE (Jakarta EE) 中的一種組件&#xff0c;用于在請求到達 Servlet 或 JSP 之前對其進行預處理&#xff0c;或者在響應返回客戶端之前對其進行后處理。過濾器主要應用于以下場景&#xff1a; 請求參數過濾和轉換字符編碼處理身份驗證和授權日志記錄壓…

gbase8s數據庫獲取jdbc/odbc協議的幾種方式

PROTOCOLTRACEFILED:\sqltrace1.log;PROTOCOLTRACE5 jdbc 參數 &#xff0c;明文協議&#xff0c;并發時 會錯亂&#xff0c;適合單線程調試 SQLIDEBUGC:\Users\lenovo\Desktop\sqlidebug.log1 jdbc參數&#xff0c;密文協議&#xff0c;需使用解密工具解析&#xff0c;解析…

【android bluetooth 框架分析 04】【bt-framework 層詳解 7】【AdapterProperties介紹】

前面我們提到了 藍牙協議棧中的 Properties &#xff0c; 這篇文章是 他的補充。 【android bluetooth 框架分析 04】【bt-framework 層詳解 6】【Properties介紹】 在 AOSP&#xff08;Android Open Source Project&#xff09;中&#xff0c;AdapterProperties 是一個 Java…

C盤瘦身?

突然發現回收站底部有橫幅辣眼睛&#xff01; 點擊深度清理跳轉C盤瘦身 點擊一鍵瘦身跳轉支付 回收站右鍵還有菜單 回收站右鍵可以通過設置關閉 回收站底部橫幅關不了&#xff01; 流氓沒人管了嗎&#xff1f;

用戶通知服務,輕松實現應用與用戶的多場景交互

用戶在使用應用時&#xff0c;經常想要了解應用程序在執行的操作&#xff0c;如下載完成、新郵件到達、發布即時的客服支付通知等&#xff0c;這些通知除了攜帶基本的文本圖片信息外&#xff0c;最好還可以支持文件上傳下載進度場景下的進度條通知&#xff0c;以及點擊通知欄可…

蘋果獲智能錢包專利,Find My生態版圖或再擴張:錢包會“說話”還能防丟

蘋果公司近日成功獲批一項突破性專利&#xff0c;揭示了一種支持Find My網絡的全新智能錢包設計方案。該錢包不僅能智能管理用戶的信用卡、身份證等實體卡片&#xff0c;更具備了追蹤定位和通過揚聲器發聲提醒的能力&#xff0c;有望成為蘋果“查找”&#xff08;Find My&#…

當機床開始“思考”,傳統“制造”到“智造”升級路上的法律暗礁

——首席數據官高鵬律師團隊創作&#xff0c;AI輔助 一、被時代推著走的工廠&#xff1a;從“鐵疙瘩”到“智能體”的陣痛 某汽車零部件廠的李廠長至今記得三年前的凌晨。為了趕上新能源車企的訂單&#xff0c;廠里咬牙引進了兩條智能生產線&#xff0c;可調試第三天&#xff…

概率基礎——不確定性的數學

第05篇&#xff1a;概率基礎——不確定性的數學 寫在前面&#xff1a;大家好&#xff0c;我是藍皮怪&#xff01;前幾篇我們聊了統計學的基本概念、數據類型、描述性統計和數據可視化&#xff0c;今天我們要進入統計學的另一個重要基礎——概率論。你有沒有想過&#xff0c;為什…

爬蟲遇到base64編碼(非常規版)

一.特征 從 Base64 的核心特性入手&#xff0c;比如它的編碼原理&#xff08;將二進制數據轉換為 ASCII 字符集&#xff09;和字符集的組成&#xff08;A-Z、a-z、0-9、、/ 和 &#xff09;。這是 Base64 最基礎的特點&#xff0c;幾乎每個回答都應該包括這些內容。基于 64 個…

節拍定時器是什么?

節拍定時器是什么&#xff1f; 節拍定時器&#xff08;SysTick Timer&#xff09;是嵌入式系統中用于提供精確時間基準的核心硬件組件&#xff0c;尤其在ARM Cortex-M系列處理器中廣泛應用。以下是其關鍵特性和應用的綜合說明&#xff1a; ?? 一、核心概念與工作原理 硬件基…

SDPA(Scaled Dot-Product Attention)詳解

SDPA&#xff08;Scaled Dot-Product Attention&#xff09;詳解 SDPA&#xff08;Scaled Dot-Product Attention&#xff0c;縮放點積注意力&#xff09;是 Transformer 模型的核心計算單元&#xff0c;最早由 Vaswani 等人在 2017 年的論文《Attention Is All You Need》提出…

java通過hutool工具生成二維碼實現掃碼跳轉功能

實現&#xff1a; 首先引入zxing和hutool工具依賴 <dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.2</version></dependency><dependency><groupId>com.google.zxi…

數據庫數據導出到Excel表格

1.后端代碼 第一步&#xff1a;UserMapper定義根據ID列表批量查詢用戶方法 // 批量查詢用戶信息List<User> selectUserByIds(List<Integer> ids); 第二步&#xff1a;UserMapper.xml寫動態SQL&#xff0c;實現批量查詢用戶 <!--根據Ids批量查詢用戶-->&l…

Altera系列FPGA基于ADV7180解碼PAL視頻,純verilog去隔行,提供2套Quartus工程源碼和技術支持

目錄 1、前言工程概述免責聲明 2、相關方案推薦我已有的所有工程源碼總目錄----方便你快速找到自己喜歡的項目Altera系列FPGA相關方案推薦我這里已有的PAL視頻解碼方案 3、設計思路框架工程設計原理框圖輸入PAL相機ADV7180芯片解讀BT656視頻解碼模塊圖像緩存架構輸出視頻格式轉…

【教程】Windows安全中心掃描設置排除文件

轉載請注明出處&#xff1a;小鋒學長生活大爆炸[xfxuezhagn.cn] 如果本文幫助到了你&#xff0c;歡迎[點贊、收藏、關注]哦~ 目錄 背景說明 解決方法 背景說明 即使已經把實時防護等設置全都關了&#xff0c;但Windows還是會不定時給你掃描&#xff0c;然后把風險軟件給刪了…

OPenCV CUDA模塊立體匹配------對立體匹配生成的視差圖進行雙邊濾波處理類cv::cuda::DisparityBilateralFilter

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 cv::cuda::DisparityBilateralFilter 是 OpenCV CUDA 模塊中的一個類&#xff0c;用于對立體匹配生成的視差圖進行雙邊濾波處理。這種濾波方法可…

自然語言處理期末復習

自然語言處理期末復習 一單元 自然語言處理基礎 兩個核心任務&#xff1a; 自然語言理解&#xff08;NLU, Natural Language Understanding&#xff09; 讓計算機“讀懂”人類語言&#xff0c;理解文本的語義、結構和意圖。 典型子任務包括&#xff1a;分詞、詞性標注、句法分…