我有以下数据帧:
y |
---|
NaN |
NaN |
5 |
NaN |
7 |
您可以使用isna
来获得NaN值的True/1,使用cumprod
来去除非NaN后面的所有值。然后sum
:
df['y'].isna().cumprod().sum()
输出:2
您可以使用first_valid_index
。
df.y.first_valid_index()
> 2
这将获取第一个非NaN值的索引。默认情况下,如果索引从NaN
开始,我们不需要求和。
将Series.isna
与Series.cummin
一起使用,并通过sum
:计数True
s
s = df['y'].isna().cummin().sum()
print (s)
2