這篇文章主要為大家分析了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
#!/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返回缺失值位置的方法是什么”的知識吧。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。