聊聊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("
")
print(frame1.dropna())
print("
")
print(frame1[frame1.notnull()])

输出:

当未精确定位到某一列,但该列中存在空值时,dropna()会将空值所在行删除,而notnull()不会

在精确定位到某一列后,dropna()会输出series,而notnull()输出DataFrame

print(frame1)
print("
")
print(frame1.a.dropna())
print("
")
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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持云海天教程。如有错误或未考虑完全的地方,望不吝赐教。