聊聊python dropna()和notnull()的用法區別

定義一個DataFrame

data = {'a':[1,2,3,NaN],'b':['l','k','j','k'],'c':['12r','45h','45u','456u']}
frame1 = DataFrame(data)
print(frame1)
print('\n')
print(frame1.dropna())
print('\n')
print(frame1[frame1.notnull()])

輸出:

當未精確定位到某一列,但該列中存在空值時,dropna()會將空值所在行刪除,而notnull()不會

在精確定位到某一列後,dropna()會輸出series,而notnull()輸出DataFrame

print(frame1)
print('\n')
print(frame1.a.dropna())
print('\n')
print(frame1[frame1.a.notnull()])

輸出:

補充:padas.notnull函數

pandas的notnull函數,用於返回非空值的集合。下面舉一個例子。

1、構造一個DataFrame

df = pd.DataFrame([['1', 'bee', 'cat'], [None, None, 'fly']])

2、測試notnull函數

a = pd.notnull(df[0])

將a打印一下,結果如下。

0  True
1 False

3、通過a來取df的內容

b = df[a]
print(b)

結果為

 0 1 2
0 1 bee cat

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: