pandas返回缺失值位置的方法實例教程

pandas返回缺失值位置

有的時候我們可能需要獲取一些缺失值的信息,因此我們需要獲取這些缺失值在DataFrame中的位置。

假如我們的DataFrame的索引為數值順序索引,要返回缺失值的位置

import numpy as np
import pandas as pd

我們首先構建一個有缺失值的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()

我們發現四個columns均有缺失值,比如我們想知道每列的缺失值的具體位置,以A為例

df.isnull().any()

 可以看到返回瞭A的缺失值位置的索引,這樣在定位的時候使用loc函數就可以直接定位到缺失值方便查看瞭.

如果我們想生成一個字典來存儲全部的缺失值位置信息,可以用:

a = df.isnull().any()
a = a.loc[a==True]
columns = a.index.tolist()
mydict = {}#創建一個字典來存儲所有的位置
temp = []
for column in columns:
    temp = df.loc[df[column].isnull()].index.tolist()
    mydict[column] = temp
mydict

附:Pandas查找缺失值的位置,並返回缺失值行號以及列號

#!/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 = ['語文', '英語', '數學', '政治', '物理', '化學', '生物', '地理']
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))

執行結果

F:\Opensources\python\python.exe D:/pythonStudy/EXCELDB/LagelangriCZ_test.py
       張三     李四     王五  周六
語文    NaN    NaN   90.0  80
英語   57.0   43.0   89.0  65
數學   78.0   50.0   67.0  78
政治    NaN   78.0   90.0  73
物理   67.0   45.0   78.0  76
化學   77.0   88.0    NaN  45
生物   52.0  110.0  120.0  99
地理  131.0   13.0   32.0  12
=========================================================
列名:"張三", 第['語文', '政治']行位置有缺失值
列名:"李四", 第['語文']行位置有缺失值
列名:"王五", 第['化學']行位置有缺失值

Process finished with exit code 0    

總結

到此這篇關於pandas返回缺失值位置的文章就介紹到這瞭,更多相關pandas返回缺失值位置內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: