pandas返回缺失值位置的方法實(shí)例教程
pandas返回缺失值位置
有的時(shí)候我們可能需要獲取一些缺失值的信息,因此我們需要獲取這些缺失值在DataFrame中的位置。
假如我們的DataFrame的索引為數(shù)值順序索引,要返回缺失值的位置
import numpy as np import pandas as pd
我們首先構(gòu)建一個(gè)有缺失值的DataFrame
df = pd.DataFrame({'A':[1, 2, 3, np.nan], 'B':[2, np.nan, 4, 6], 'C':[3, 2, np.nan, 3], 'D':[np.nan, 1, np.nan, 2]}) display(df)
首先我們可以查看每列中是否有缺失值
df.isnull().any()
我們發(fā)現(xiàn)四個(gè)columns均有缺失值,比如我們想知道每列的缺失值的具體位置,以A為例
df.isnull().any()
可以看到返回了A的缺失值位置的索引,這樣在定位的時(shí)候使用loc函數(shù)就可以直接定位到缺失值方便查看了.
如果我們想生成一個(gè)字典來(lái)存儲(chǔ)全部的缺失值位置信息,可以用:
a = df.isnull().any() a = a.loc[a==True] columns = a.index.tolist() mydict = {}#創(chuàng)建一個(gè)字典來(lái)存儲(chǔ)所有的位置 temp = [] for column in columns: temp = df.loc[df[column].isnull()].index.tolist() mydict[column] = temp mydict
附:Pandas查找缺失值的位置,并返回缺失值行號(hào)以及列號(hào)
#!/usr/bin/evn python # -*-coding:utf8 -*- import pandas as pd data = [[None, None, 90, 80],[57, 43, 89, 65],[78, 50, 67, 78],[None, 78, 90, 73],[67, 45, 78, 76],[77, 88, None, 45],[52, 110, 120, 99],[131, 13, 32, 12]] index = ['語(yǔ)文', '英語(yǔ)', '數(shù)學(xué)', '政治', '物理', '化學(xué)', '生物', '地理'] column = ['張三', '李四', '王五', '周六'] data = pd.DataFrame(data,index=index,columns=column) print(data) print("=========================================================\n") for columname in data.columns: if data[columname].count() != len(data): loc = data[columname][data[columname].isnull().values==True].index.tolist() print('列名:"{}", 第{}行位置有缺失值'.format(columname,loc))
執(zhí)行結(jié)果
F:\Opensources\python\python.exe D:/pythonStudy/EXCELDB/LagelangriCZ_test.py
張三 李四 王五 周六
語(yǔ)文 NaN NaN 90.0 80
英語(yǔ) 57.0 43.0 89.0 65
數(shù)學(xué) 78.0 50.0 67.0 78
政治 NaN 78.0 90.0 73
物理 67.0 45.0 78.0 76
化學(xué) 77.0 88.0 NaN 45
生物 52.0 110.0 120.0 99
地理 131.0 13.0 32.0 12
=========================================================
列名:"張三", 第['語(yǔ)文', '政治']行位置有缺失值
列名:"李四", 第['語(yǔ)文']行位置有缺失值
列名:"王五", 第['化學(xué)']行位置有缺失值
Process finished with exit code 0
總結(jié)
到此這篇關(guān)于pandas返回缺失值位置的文章就介紹到這了,更多相關(guān)pandas返回缺失值位置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- pandas數(shù)據(jù)清洗實(shí)現(xiàn)刪除的項(xiàng)目實(shí)踐
- pandas實(shí)現(xiàn)數(shù)據(jù)讀取&清洗&分析的項(xiàng)目實(shí)踐
- 詳解Python如何利用Pandas與NumPy進(jìn)行數(shù)據(jù)清洗
- 利用pandas進(jìn)行數(shù)據(jù)清洗的方法
- pandas數(shù)據(jù)處理清洗實(shí)現(xiàn)中文地址拆分案例
- Pandas 數(shù)據(jù)處理,數(shù)據(jù)清洗詳解
- pandas數(shù)據(jù)清洗,排序,索引設(shè)置,數(shù)據(jù)選取方法
- pandas如何統(tǒng)計(jì)某一列或某一行的缺失值數(shù)目
- pandas中DataFrame檢測(cè)重復(fù)值的實(shí)現(xiàn)
- pandas數(shù)據(jù)清洗(缺失值和重復(fù)值的處理)
相關(guān)文章
Windows系統(tǒng)配置python腳本開(kāi)機(jī)啟動(dòng)的3種方法分享
這篇文章主要介紹了Windows系統(tǒng)配置python腳本開(kāi)機(jī)啟動(dòng)的3種方法分享,本文講解了開(kāi)始菜單啟動(dòng)項(xiàng)實(shí)現(xiàn)、開(kāi)機(jī)腳本、通過(guò)一個(gè)服務(wù)調(diào)用該腳本三種方法,需要的朋友可以參考下2015-03-03Python深度學(xué)習(xí)TensorFlow神經(jīng)網(wǎng)絡(luò)基礎(chǔ)概括
這篇文章主要為大家介紹了Python深度學(xué)習(xí)中TensorFlow神經(jīng)網(wǎng)絡(luò)基礎(chǔ)概括,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10詳解OpenCV中簡(jiǎn)單的鼠標(biāo)事件處理
談及鼠標(biāo)事件,就是在觸發(fā)鼠標(biāo)按鈕后程序所做出相應(yīng)的反應(yīng),但是不影響程序的整個(gè)線(xiàn)程。本文將主要介紹OpenCV中的簡(jiǎn)單鼠標(biāo)事件處理,感興趣的可以學(xué)習(xí)一下2022-01-01Django零基礎(chǔ)入門(mén)之自定義過(guò)濾器及模板中的使用
這篇文章主要介紹了Django零基礎(chǔ)入門(mén)之自定義過(guò)濾器及模板中的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09Python 過(guò)濾字符串的技巧,map與itertools.imap
Python中的map函數(shù)非常有用,在字符轉(zhuǎn)換和字符遍歷兩節(jié)都出現(xiàn)過(guò),現(xiàn)在,它又出現(xiàn)了,會(huì)給我們帶來(lái)什么樣的驚喜呢?是不是要告訴我們,map是非常棒的,以后要多找它玩呢?2008-09-09