gpt4 book ai didi

python - Pandas :NaN 孔的运行长度

转载 作者:太空狗 更新时间:2023-10-29 20:59:06 24 4
gpt4 key购买 nike

我有数百个时间序列对象,每个对象都有 100000 个条目。某些百分比的数据条目丢失 (NaN)。无论是单个、分散的 NaN 还是长序列的 NaN,对我的应用程序都很重要。

因此我想要一个函数来为我提供每个连续的 NaN 序列的游程长度。我能行

myseries.isnull()

得到一系列 bool 值。我可以通过移动中位数或移动平均线来了解数据漏洞的大小。但是,如果有一种有效的方法来获取系列的孔长度列表,那就太好了。

也就是说,如果有一个 myfunc 就好了

a = pdSeries([1, 2, 3, np.nan, 4, np.nan, np.nan, np.nan, 5, np.nan, np.nan])
myfunc(a.isnull())
==> Series([1, 3, 2])

(因为分别有1、3、2个NaN)

据此,我可以制作孔长度的直方图,以及多个系列的 isnull 的 的直方图(可能相互替代),以及其他好东西。

我还想了解其他方法来量化数据空洞的“聚集性”。

最佳答案

import pandas as pd
import numpy as np
import itertools

a = pd.Series([1, 2, 3, np.nan, 4, np.nan, np.nan, np.nan, 5, np.nan, np.nan])
len_holes = [len(list(g)) for k, g in itertools.groupby(a, lambda x: np.isnan(x)) if k]
print len_holes

结果

[1, 3, 2]

关于python - Pandas :NaN 孔的运行长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16857407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com