1. 程式人生 > 程式設計 >Python pandas.DataFrame 找出有空值的行

Python pandas.DataFrame 找出有空值的行

0.摘要

pandas中DataFrame型別中,找出所有有空值的行,可以使用.isnull()方法和.any()方法。

1.找出含有空值的行

方法:DataFrame[DataFrame.isnull().T.any()]

其中,isnull()能夠判斷資料中元素是否為空值;T為轉置;any()判斷該行是否有空值。

import pandas as pd
import numpy as np
n = np.arange(20,dtype=float).reshape(5,4)
n[2,3] = np.nan
index = ['index1','index2','index3','index4','index5']
columns = ['column1','column2','column3','column4']
frame3 = pd.DataFrame(data=n,index=index,columns=columns)
print(frame3[frame3.isnull().T.any()])

程式成功找到了第三行為有空值的行。

2.為什麼加轉置

在程式碼中,isnull()的結果需要求轉置之後,才能進行any()操作,這是為什麼呢?

下面對比一下isnull轉置和非轉置的情況:

print(frame3.isnull().any())
print("========================")
print(frame3.isnull().T.any())

可見:

非轉置:frame3.isnull().any(),得到的每一列求any()計算的結果,輸出為列的Series。

轉置:frame3.isnull().T.any(),得到的每一行求any()計算的結果,輸出為行的Series。

總結

以上所述是小編給大家介紹的Python pandas.DataFrame 找出有空值的行,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!