有的时候我们可能需要获取一些缺失值的信息,因此我们需要获取这些缺失值在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.loc[df['A'].isnull()].index.tolist()
可以看到返回了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



