dropna是pandas库中的一个非常有用的函数,用来删除DataFrame中包含缺失值的行或列。
dropna的语法为:
dropna(axis=0, how=’any’, thresh=None, subset=None, inplace=False)
今天我们学习how参数。how参数默认为‘any’,表示该行/列只要有一个以上的空值,就删除该行/列。how也可以为‘all’,表示该行/列全部都为空值,就删除该行/列。
下面我们就举例来看一下两者的区别,首先生成一个带有很多空值的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+2] = np.nan
df = pd.DataFrame(a)
df
返回:

dataframe中每行都有空值,其中标号为0的行全是空值。
我们先看一下how=’any’方式删除:
df.dropna(how='any')
返回:

可以看出,带有空值的行都被删除了,dataframe中只剩下了列标题。
再看一下how=’all’方式删除:
df.dropna(how='all')
返回:

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