我有一个包含7100行的3列数据集。
data.isna().sum()
显示,其中一列包含117个NaN原子,其余为0。CCD_ 2还示出了用于一列的117和用于其它列的0。
CCD_ 3减少351行。有人能向我解释一下吗?我做错什么了吗?
编辑:
我现在检查已删除的行。删除了351行,其中dropped.isna().sum().sum()
显示了总共117个NaN值。
dropped[~dropped['description'].isna()]
显示了一个空表。因此,在我看来,结果似乎是正确的。
现在我只是好奇计数的差异是如何产生的。
遗憾的是,我无法提供数据样本。
data.isna((.sum((返回数据帧中NAN值的总数,使用data.dropna((将删除所有NAN值。您可以通过创建一个子集来具体检查NAN值的数量,例如:NAN_rows=dataframe[dataframe.columnNameWithNanValues.isna((]来检查NAN的值,然后返回数据帧的形状。接下来,使用不带inplace=True参数的.dropna((来删除NAN和Null值。
找到了解决方案。很简单。。。我有三列,其中一列包含117个NaN值。3列的117个值是要删除的总共351个字段。由于我使用df.size
来测量删除的大小,它计算字段而不是行,所以我得到351";删除字段";,这是完全正确的。