在 table 中查找 NaN 行时 count() 和 sum() 之间的区别

Difference between count() and sum() when finding NaN rows in table

我有这个 table,值,- 一些值是 NaN:

ID   Value1    Value2    Value3
12   "filled"  "filled"   NaN
13   "filled"  "filled"   "filled"
14   "filled"  "filled"   NaN

我必须找到 Value3 中缺失的总行数 -

我的密码是

values_missing = values["Value3"].isnull().count()

但是这个returns总行数在table,这显然是错误的

四处游玩,我发现:

values_missing = values["Value3"].isnull().sum()

returns 正确答案,但我很难理解为什么

为什么不使用 count(),因为没有任何东西可以求和(),只有数字或行数?

对于 pandas.DataFrame.count 我们有:

所以在你的情况下:

values["Value3"].isnull()

0     True
1    False
2     True

它出现了 3 次 non-NA。然后如果你在末尾添加 .count(),你得到的总数是 3.

当您添加 .sum() 时,它会对 .isnull() 函数的真值求和。

你的情况:

values["Value3"].isnull().sum()

2

values["Value3"].notnull().sum()

1

values_missing = values["Value3"].isnull() returns 一个 pandas 系列。 count() 确实计算了系列中值的数量。 sum() 确实汇总了 True1False0 的所有值。