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!
推薦閱讀:
- Python中的pandas表格模塊、文件模塊和數據庫模塊
- Python Pandas學習之Pandas數據結構詳解
- Python數據分析23種Pandas核心操作方法總結
- Pandas中DataFrame的基本操作之重新索引講解
- Python pandas DataFrame數據拼接方法