【发布时间】:2021-01-04 08:05:37
【问题描述】:
我有一个包含 np.nan(Numpy 非数字)值的 Pandas 数据框:
field1
2020-12-24 NaN
2020-12-25 NaN
2020-12-26 1.0
2020-12-27 2.0
2020-12-28 NaN
2020-12-29 1.0
2020-12-30 2.0
(索引是日期时间。) 我想获得一个新的数据框,其中包含开始日期和 np.nan 发生的次数,即
field1
2020-12-24 2
2020-12-28 1
我试过这段代码:
prev = 1
for col_name, el in df.iterrows():
print(el)
if prev != np.nan and el[0] == np.nan:
cnt = 1
if prev == np.nan and el[0] == np.nan:
cnt = cnt + 1
if prev == np.nan and el[0] != np.nan:
print(cnt)
prev = el[0]
但它没有按预期工作,而且我想避免“for”循环,因为我希望它们在更大的数据帧上非常慢。任何帮助将不胜感激!
【问题讨论】:
标签: python pandas dataframe numpy