dropna是pandas库中的一个非常有用的函数,用来删除DataFrame中包含缺失值的行或列。
dropna的语法为:
dropna(axis=0, how=’any’, thresh=None, subset=None, inplace=False)
今天我们学习参数thresh。thresh=n的含义为,经过删除后,保留下来的每一行,其非NaN的数目>=n。
首先,生成带有很多空值的dataframe:
import numpy as np
import pandas as pd
a = np.random.random(size=(5,6))
for i in range(len(a)):
a[-i-1,:i] = np.nan
df = pd.DataFrame(a)
df
返回:

然后,我们要求删除后,每行非NaN的数目>=2(因为现在每行数据都符合这个条件,也就是不删除):
df.dropna(thresh=2)
返回:

跟预计的一样,没有删除。现在我们要求删除后,每行非NaN的数目>=3:
df.dropna(thresh=3)
返回:

原先标号为0的那行因为不符合条件被删除了。
现在我们按默认值删除一下:
df.dropna(thresh=None)
返回:

可以发现,全给删除了,thresh=None的含义就是只要行内有空值,就删除。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/74927
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!