dropna是pandas库中的一个非常有用的函数,用来删除DataFrame中包含缺失值的行或列。
dropna的语法为:
dropna(axis=0, how=’any’, thresh=None, subset=None, inplace=False)
今天我们学习参数subset。subset=[某一列或某几列]含义是如果该列或该几列里面有na,就去掉空值所在行。subset以外的列不受影响,即使有空值也不删除。
我们还是用之前的例子来生成带空值的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
返回:

可以看出,标号为0、1、2、3的四列有空值,而标号为4、5的列没有空值。
我们先拿标号为3和4的这两列试验一下,第3列中有一个空值在标号为0的行中,那么标号为0的行一会儿应该会被删除;第4列中没有空值,那没有行会因为第4列被删除:
df.dropna(subset=[3,4])
返回:

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