【Pandas】pandas DataFrame isna

Pandas2.2 DataFrame

Missing data handling

方法描述
DataFrame.fillna([value, method, axis, …])用于填充 DataFrame 中的缺失值(NaN)
DataFrame.backfill(*[, axis, inplace, …])用于**使用后向填充(即“下一個有效觀測值”)來填補缺失值(NaN)**的方法
DataFrame.bfill(*[, axis, inplace, limit, …])用于**使用后向填充(即“下一個有效觀測值”)來填補缺失值(NaN)**的方法
DataFrame.dropna(*[, axis, how, thresh, …])用于刪除包含缺失值(NaN)的行或列的方法
DataFrame.ffill(*[, axis, inplace, limit, …])用于**使用前向填充(即“前一個有效觀測值”)來填補缺失值(NaN)**的方法
DataFrame.interpolate([method, axis, limit, …])用于對缺失值(NaN)進行插值填充的方法
DataFrame.isna()用于檢測 DataFrame 中缺失值(NaN)的位置的方法

pandas.DataFrame.isna()

pandas.DataFrame.isna() 是一個用于檢測 DataFrame 中缺失值(NaN)的位置的方法。它返回一個新的布爾型 DataFrame,其中每個元素表示對應位置的值是否為 NaN


📌 方法簽名
DataFrame.isna()

? 返回值
  • 返回一個與原 DataFrame 形狀相同的布爾型 DataFrame
  • 若某個位置是 NaN,則對應位置為 True
  • 否則為 False

該方法不會修改原始數據。


? 注意事項
  • isna() 不支持參數;
  • 它僅用于檢測 NaN,不識別 None 或其他空值(如空字符串、0 等);
  • 可以結合 isnull() 使用(二者完全等價);
  • 常用于統計缺失值數量或定位缺失值位置。

🧪 示例代碼及結果
示例 1:基本用法
import pandas as pd
import numpy as npdf = pd.DataFrame({'A': [1, np.nan, 3],'B': [np.nan, 2, np.nan],'C': [5, 6, 7]
})print("Original DataFrame:")
print(df)# 檢測 NaN 位置
df_isna = df.isna()
print("\nAfter isna():")
print(df_isna)
輸出結果:
Original DataFrame:A    B  C
0  1.0  NaN  5
1  NaN  2.0  6
2  3.0  NaN  7After isna():A      B      C
0  False   True  False
1   True  False  False
2  False   True  False

示例 2:統計每列的缺失值數量
# 統計每列 NaN 的數量
nan_count = df.isna().sum()
print("\nMissing value count per column:")
print(nan_count)
輸出結果:
Missing value count per column:
A    1
B    2
C    0
dtype: int64

示例 3:統計整個 DataFrame 中的缺失值總數
total_nan = df.isna().sum().sum()
print(f"\nTotal missing values: {total_nan}")
輸出結果:
Total missing values: 3

示例 4:篩選出包含缺失值的行
# 篩選至少有一個 NaN 的行
rows_with_nan = df[df.isna().any(axis=1)]
print("\nRows with any NaN:")
print(rows_with_nan)
輸出結果:
Rows with any NaN:A    B  C
0  1.0  NaN  5
1  NaN  2.0  6
2  3.0  NaN  7

🧠 應用場景
場景說明
查看缺失情況快速了解哪些位置存在缺失值
統計缺失比例結合 sum()len() 計算缺失比例
過濾含缺失值的行/列使用 df.isna().any() 配合布爾索引
可視化前的數據檢查在繪圖前確保無缺失值影響圖表
預處理流程的一部分作為填充或刪除缺失值前的判斷依據

?? 補充說明
  • isna()isnull() 完全等價,可互換使用;
  • 對于非浮點類型列(如字符串、整數),若含有 NaN,也會被標記為 True
  • 如果你希望將 None 視為 NaN,可以先使用 df.replace([None], np.nan) 轉換。

? 總結對比
方法是否推薦使用說明
isna()? 推薦更直觀地表達“是否為空”
isnull()? 推薦isna() 完全相同,兼容性考慮

你可以將 isna() 作為日常數據清洗的第一步,快速掌握數據集中缺失值的分布情況。

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

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

相關文章

MQTT協議:物聯網時代的通信基石

MQTT協議:物聯網時代的通信基石 在當今快速發展的物聯網(IoT)時代,設備之間的通信變得尤為重要。MQTT(Message Queuing Telemetry Transport)協議作為一種輕量級的消息傳輸協議,正逐漸成為物聯…

Excel 表格內批量添加前綴與后綴的實用方法

我們經常需要為 Excel 表格中的內容統一添加前綴或后綴,例如給編號加“NO.”、給姓名加“會員_”等。手動操作效率低,本文將介紹幾種實用的方法,幫助你快速完成批量添加前綴和后綴的操作。 使用“&”運算符添加前綴或后綴(推…

uniapp 實現騰訊云IM群文件上傳下載功能

UniApp 集成騰訊云IM實現群文件上傳下載功能全攻略 一、功能背景與技術選型 在團隊協作場景中,群文件共享是核心需求之一。本文將介紹如何基于騰訊云IMCOS,在uniapp中實現: 群內文件上傳/下載文件元數據管理下載進度追蹤跨平臺文件預覽 二…

GO協程(Goroutine)問題總結

在使用Go語言來編寫代碼時,遇到的一些問題總結一下 [參考文檔]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函數默認的Goroutine 場景再現: 今天在看到這個教程的時候,在自己的電…

uniapp微信小程序視頻實時流+pc端預覽方案

方案類型技術實現是否免費優點缺點適用場景延遲范圍開發復雜度?WebSocket圖片幀?定時拍照Base64傳輸? 完全免費無需服務器 純前端實現高延遲高流量 幀率極低個人demo測試 超低頻監控500ms-2s???RTMP推流?TRTC/即構SDK推流? 付費方案 (部分有免費額度&#x…

分布式鎖實戰:Redisson vs. Redis 原生指令的性能對比

分布式鎖實戰:Redisson vs. Redis 原生指令的性能對比 引言 在DIY主題模板系統中,用戶可自定義聊天室的背景、圖標、動畫等元素。當多個運營人員或用戶同時修改同一模板時,若沒有鎖機制,可能出現“甲修改了背景色,乙…

C++ 設計模式《復制粘貼的奇跡:小明的原型工廠》

👨?🎓 模式名稱:原型模式(Prototype Pattern) 📖 背景故事 創業初期,小明每天加班寫配送路線、配送策略、營銷套餐。可當業務做大后,他發現大家常常下單“上次那個套餐”—— “老…

【Elasticsearch】映射:fielddata 詳解

映射:fielddata 詳解 1.fielddata 是什么2.fielddata 的工作原理3.主要用法3.1 啟用 fielddata(通常在 text 字段上)3.2 監控 fielddata 使用情況3.3 清除 fielddata 緩存 4.使用場景示例示例 1:對 text 字段進行聚合示例 2&#…

開源 vGPU 方案:HAMi,實現細粒度 GPU 切分

本文主要分享一個開源的 GPU 虛擬化方案:HAMi,包括如何安裝、配置以及使用。 相比于上一篇分享的 TimeSlicing 方案,HAMi 除了 GPU 共享之外還可以實現 GPU core、memory 得限制,保證共享同一 GPU 的各個 Pod 都能拿到足夠的資源。…

PlayDiffusion上線:AI語音編輯進入“無痕時代”

在語音合成與語音編輯領域,一個長期存在的挑戰是如何在修改語音內容的同時,保持原始語音的自然性、連貫性和說話人特征。近日,一款名為 PlayDiffusion 的新型 AI 語音修復模型應運而生,成功實現了這一目標。 PlayDiffusion 是一個…

2025年能源電力系統與流體力學國際會議 (EPSFD 2025)

2025年能源電力系統與流體力學國際會議(EPSFD 2025)將于本年度在美麗的杭州盛大召開。作為全球能源、電力系統以及流體力學領域的頂級盛會,EPSFD 2025旨在為來自世界各地的科學家、工程師和研究人員提供一個展示最新研究成果、分享實踐經驗及…

微信小程序前端面經

一、技術棧與編碼能力(10min) 1. Vue 3 & Composition API Q1:請解釋一下 ref 和 reactive 的區別?你在項目中是如何使用的? 答:ref是包裝一個原始值或對象,通過.value訪問,r…

rknn toolkit2搭建和推理

安裝Miniconda Miniconda - Anaconda Miniconda 選擇一個 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh進行安裝 下面配置一下載源 # 清華大學源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…

WordPress插件:AI多語言寫作與智能配圖、免費AI模型、SEO文章生成

厭倦手動寫WordPress文章?AI自動生成,效率提升10倍! 支持多語言、自動配圖、定時發布,讓內容創作更輕松! AI內容生成 → 不想每天寫文章?AI一鍵生成高質量內容!多語言支持 → 跨境電商必備&am…

Houdini POP入門學習07 - 分組

使用PopGroup可對粒子進行分組操作,并通過表達式從而更靈活的處理粒子行為。 1.創建box作為發射器,連接popnet節點。 2.雙擊進入popnet,添加popwind添加向上風力。現在播放粒子可見粒子向上方移動。 3.添加popgroup進行分組,開啟…

機器學習復習3--模型評估

誤差與過擬合 我們將學習器對樣本的實際預測結果與樣本的真實值之間的差異稱為:誤差(error)。 誤差定義: ①在訓練集上的誤差稱為訓練誤差(training error)或經驗誤差(empirical error&#x…

Docker 鏡像上傳到 AWS ECR:從構建到推送的全流程

一、在 EC2 實例中安裝 Docker(適用于 Amazon Linux 2) 步驟 1:連接到 EC2 實例 ssh -i your-key.pem ec2-useryour-ec2-public-ip步驟 2:安裝 Docker sudo yum update -y sudo amazon-linux-extras enable docker sudo yum in…

MobileNet 改進:基于MobileNetV2和SSPP的圖像分類

1.創新點分析 在計算機視覺領域,高效的圖像分類模型一直是研究熱點。 本文將詳細解析一個結合了MobileNetV2和空間金字塔池化(SSPP)的深度學習模型實現。 模型概述 這個代碼實現了一個輕量級但功能強大的圖像分類器,主要包含兩個核心組件: MobileNetV2作為特征提取器 自定…

Java中List的forEach用法詳解

在 Java 中,List.forEach() 是 Java 8 引入的一種簡潔的遍歷集合元素的方法。它基于函數式編程思想,接受一個 Consumer 函數式接口作為參數,用于對集合中的每個元素執行操作。 基本語法 java 復制 下載 list.forEach(consumer); 使用示…

涂鴉T5AI手搓語音、emoji、otto機器人從入門到實戰

“🤖手搓TuyaAI語音指令 😍秒變表情包大師,讓萌系Otto機器人🔥玩出智能新花樣!開整!” 🤖 Otto機器人 → 直接點明主體 手搓TuyaAI語音 → 強調 自主編程/自定義 語音控制(TuyaAI…