DAY 4 缺失值的處理

\1. 打開數據

import pandas as pd
data = pd.read_csv(r'data.csv')
data

\2. 查看數據

# 打印數據集的基本信息(列名、非空值數量、數據類型等)
print("data.info() - 數據集的基本信息(列名、非空值數量、數據類型等):")
print(data.info())# 打印數據集的形狀(行數和列數)
print("\ndata.shape - 數據集的形狀(行數, 列數):")
print(data.shape)# 打印數據集的所有列名
print("\ndata.columns - 數據集的所有列名:")
print(data.columns)# 打印數值列的基本統計量(計數、均值、標準差等)
print("\ndata.describe() - 數值列的基本統計量(計數、均值、標準差等):")
print(data.describe())# 打印各列的數據類型
print("\ndata.dtypes - 各列的數據類型:")
print(data.dtypes)

\3. 查看空值

# 打印布爾矩陣(顯示前5行示例)
print("data.isnull() - 布爾矩陣(True表示缺失值,False表示非缺失值):")
print(data.isnull().head())  # 僅展示前5行避免輸出過長# 打印每列缺失值計數
print("\ndata.isnull().sum() - 每列缺失值數量統計:")
print(data.isnull().sum())

4.眾數 中位數進行填補缺失值

#查看一列數據
data["Credit Score"]
#  眾數填補
import pandas as pd
data = pd.read_csv('data.csv') #需要重新讀取一遍數據
mode = data['Credit Score'].mode()
# mode() 會返回數據中出現頻率最高的所有值,如果頻次相同,會返回最多每個值。
mode = mode[0] # 取第一個值
data['Credit Score']=data['Credit Score'].fillna(mode)
# 檢查下是否有缺失值
data['Credit Score'].isnull().sum()# 這個警告是 Pandas 庫中的一個常見問題,稱為“鏈式賦值”(chained assignment)警告。它通常發生在對 DataFrame 或 Series 進行操作時,尤其是在使用 inplace=True 參數時。Pandas 在未來版本中可能會改變這種行為,因此它提醒你避免潛在的問題。
# 問題原因
# 在你的代碼中:
# Python
# 復制
# data['Credit Score'].fillna(mode, inplace=True)
# 這里 data['Credit Score'] 返回的是一個 Series,而對這個 Series 使用 inplace=True 可能會導致 Pandas 無法確定操作是否真正作用于原始 DataFrame,從而引發警告。
# 解決方法
# 為了避免這個警告,可以使用以下兩種方法之一:
# 方法1:直接賦值
# 將 fillna 的結果直接賦值回原始 DataFrame 的對應列:
# Python
# 復制
# data['Credit Score'] = data['Credit Score'].fillna(mode)
# 這種方法簡單且明確,不會引發鏈式賦值的警告。

\5. 利用循環補全所有列的空值

data = pd.read_csv(r'data.csv')
data.columns
#轉換成列表
c = data.columns.tolist()for i in c:if data[i].dtype != 'object': # 找到為數值型的列data[i]=data[i].fillna(data[i].mean()) # 用均值填充
data.isnull().sum()data = pd.read_csv(r'data.csv')
data.columns
#轉換成列表
c = data.columns.tolist()for i in c:if data[i].dtype != 'object': # 找到為數值型的列data[i]=data[i].fillna(data[i].mean()) # 用均值填充
data.isnull().sum()

浙大疏錦行

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

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

相關文章

Java面試實戰:從Spring Boot到分布式緩存的深度探索

Java面試實戰:從Spring Boot到分布式緩存的深度探索 場景介紹 在一家著名的互聯網大廠,面試官老王正對求職者“水貨程序員”明哥進行Java技術面試。明哥帶著一點緊張和自信,迎接這場技術“拷問”。 第一輪:基礎問題 老王&#…

UART、SPI、IIC復習總結

一、UART 1、UART和USART的異同? 相同點 基本功能:都是用于串行通信的數據收發設備,能夠實現數據在不同設備之間的傳輸。在異步通信模式下,二者的工作方式相似,都使用起始位、數據位、校驗位(可選&#…

PostGIS實現矢量數據轉柵格數據【ST_AsRaster】

ST_AsRaster函數應用詳解:將矢量數據轉換為柵格數據 [文章目錄] 一、函數概述 二、函數參數與分組說明 三、核心特性與注意事項 四、示例代碼 五、應用場景 六、版本依賴 七、總結 一、函數概述 ST_AsRaster是PostGIS中用于將幾何對象(如點、線…

Linux 線程(上)

前言:大家早上中午晚上好!!今天來學習一下linux系統下所謂的線程吧!!! 一、重新理解進程,什么是進程? 1.1 圖解 其中黑色虛線部分一整塊就是進程,注意:一整…

Java API學習筆記

一.類 1. String 類 不可變性:String對象創建后不可修改,每次操作返回新對象 String str "Hello"; str.length(); str.charAt(0); str.substring(1, 4); str.indexOf("l"); str.equals("hel…

醫療信息系統安全防護體系的深度構建與理論實踐融合

一、醫療數據訪問系統的安全挑戰與理論基礎 1.1 系統架構安全需求分析 在醫療信息系統中,基于身份標識的信息查詢功能通常采用分層架構設計,包括表現層、應用層和數據層。根據ISO/IEC 27001信息安全管理體系要求,此類系統需滿足數據保密性…

5.18本日總結

一、英語 復習list3list28 二、數學 學習14講部分內容,1000題13講部分 三、408 學習計網5.3剩余內容 四、總結 計網TCP內容比較重要,連接過程等要時常復習;高數學到二重積分對定積分的計算相關方法有所遺忘,需要加強鞏固。…

MATLAB2025新功能

截至2023年9月,MATLAB官方尚未公布2025版本的具體更新內容。根據歷史更新規律和技術發展趨勢,未來版本可能會在以下方面進行優化: AI與深度學習增強 可能新增自動化模型壓縮工具強化生成式AI模型支持改進的ONNX格式轉換接口 性能提升 矩陣運…

算法題(149):矩陣消除游戲

審題: 本題需要我們找到消除矩陣行與列后可以獲得的最大權值 思路: 方法一:貪心二進制枚舉 這里的矩陣消除時,行與列的消除會互相影響,所以如果我們先統計所有行和列的總和,然后選擇消除最大的那一行/列&am…

Uniapp、Flutter 和 React Native 全面對比

文章目錄 前言Uni-app、Flutter 和 React Native 跨平臺框架對比報告1. 性能對比2. 跨平臺能力3. 學習曲線4. 社區生態與第三方庫5. 原生能力擴展6. UI 渲染能力7. 企業支持與典型使用場景8. 開發效率與工具鏈 前言 將對 Uniapp、Flutter 和 React Native 進行全面對比&#x…

JAVA SE 多線程(上)

文章目錄 📕1. Thread類及常見方法??1.1 創建線程??1.2 Thread 的常見構造方法??1.3 Thread 的幾個常見屬性??1.4 啟動一個線程---start()??1.5 中斷一個線程---interrupt()??1.6 等待一個線程---join()??1.7 獲取當前線程引用??1.8 休眠當前線程 &…

Linux云計算訓練營筆記day10(MySQL數據庫)

Linux云計算訓練營筆記day10(MySQL數據庫) 目錄 Linux云計算訓練營筆記day10(MySQL數據庫)ifnull別名聚合函數group byHAVING 子查詢關聯查詢 ifnull 在DQL語句中可以使用函數或表達式 函數 IFNULL(arg1,arg2) 如果arg1為NULL,函…

上位機知識篇---流式Web服務器模式的實現

文章目錄 前言 前言 本文簡單介紹了流式Web服務器模式的實現。

Dify與n8n全面對比指南:AI應用開發與工作流自動化平臺選擇【2025最新】

Dify與n8n全面對比指南:AI應用開發與工作流自動化平臺選擇【2025最新】 隨著AI技術與自動化工具的迅速發展,開發者和企業面臨著多種平臺選擇。Dify和n8n作為兩個備受關注的自動化平臺,分別專注于不同領域:Dify主要面向AI應用開發&…

day19-線性表(順序表)(鏈表I)

一、補充 安裝軟件命令: sudo apt-get install (軟件名) 安裝格式化對齊:sudo apt-get install clang-format內存泄漏檢測工具: sudo apt-get install valgrind 編譯后,使用命令 valgrind ./a.out 即可看內存是…

AI:人形機器人一定是人的形狀嗎?

本文將從技術角度分析人形機器人是否必須是人的形狀,以及人形與非人形機器人在適用場合、優缺點上的差異。以下是詳細解答: 人形機器人一定是人的形狀嗎? 不,人形機器人(Humanoid Robot)在技術上通常指外…

布隆過濾器和布谷鳥過濾器

原文鏈接:布隆過濾器和布谷鳥過濾器 布隆過濾器 介紹 布隆過濾器(Bloom Filter)是 1970 年由布隆提出的。它實際上是一個很長的二進制向量和一系列隨機映射函數,檢查值是“可能在集合中”還是“絕對不在集合中” 空間效率高&a…

無需配置光貓,使用網管交換機配合路由器的IPTV功能實現單線復用

一、背景 弱電箱和電視柜只預留了一根網線,路由器放在電視柜,想實現既可以上網又可以正常觀看iptv,本文提供了一種方法。 二、準備工作 1、帶iptv功能的路由器;2、水星sg105pro網管交換機;3、網線若干; …

深入理解SpringBoot中的SpringCache緩存技術

深入理解SpringBoot中的SpringCache緩存技術 引言 在現代應用開發中,緩存技術是提升系統性能的重要手段之一。SpringBoot提供了SpringCache作為緩存抽象層,簡化了緩存的使用和管理。本文將深入探討SpringCache的核心技術點及其在實際業務中的應用場景。…

2025認證杯數學建模A題思路+代碼+模型:小行星軌跡預測

2025認證杯數學建模A題思路代碼模型,詳細內容見文末名片 近地小行星( Near Earth Asteroids, NEAs )是軌道相對接近地球的小行 星,它的正式定義為橢圓軌道的近日距不大于 1.3 天文單位( AU )的小行星。 …