如何判斷DataFrame中是否有缺失值None?如何根據值來獲得DataFrame的索引下標?
阿新 • • 發佈:2021-01-23
假設有如下資料:
x=["hello","world",None]
xx=pd.DataFrame(x)
xx
資料如下:
可以看到,第2行第1列沒有資料,是空None
。可是如果我們的資料有10萬行,那我們就不知道有沒有缺失值了。當有缺失值的時候,99%的後續處理都會不經意報錯,讓你丈二和尚摸不著頭腦,不知道是哪裡報錯了,所以千萬要儘早解決。
判斷方法如下:
xx.isnull()
#或者
xx==None
結果如下:
可以看到isnull()
會返回一個和原來xx
形狀(shape)一樣的dataframe,裡面的每一個值表示原來對應位置是否為None
True
,這個時候,和numpy中一樣,可以用any()
。
xx.isnull().any()
結果如下:
如果想知道是為None
元素的下標那怎麼辦呢?可以使用numpy中的方法。
我們先將xx.isnull()
儲存下來,轉化成數值型0或1。
b=xx.isnull()
b[b==True]=1
b
即:
然後
#轉成numpy陣列,否則argwhere會報錯。
bb=np.array(b)
np.argwhere(bb==1)
最終得到的精確下標如下: