gpt4 book ai didi

python - Pandas 中的数据差距发现(不填补)?

转载 作者:太空狗 更新时间:2023-10-30 01:21:35 25 4
gpt4 key购买 nike

我有一个带有 datetimeindex 的 pandas 数据帧中存储的时间序列。我现在想识别时间序列中的间隙,以便识别连续的片段,以便单独处理它们(在某些情况下,将片段粘合在一起,片段之间的间隙足够短)。

我认为有两种主要方法可以做到这一点。第一种是使用各种方法重新索引以获得规则的时间序列并观察间隙区域中填充的 NA 值。在我的例子中,这会导致很多额外的行(即一些冗长的间隙)。然后,您仍然需要执行额外的步骤来识别连续段。

另一种方法,也是我目前正在使用的方法,是使用 np.diff 来区分索引并使用 np.where 找到差距。但是有没有更本土的 Pandas 方法呢?这似乎是一项相当普遍的任务。我注意到 np.diff 和 pandas 与 numpy 和 pandas 版本的某些组合存在问题,因此最好只使用 pandas 解决方案。

什么会是完美的东西

for segment in data.continuous_segments():
# Process each segment

用于数据框数据。

最佳答案

这可能对你有用:

df = pd.DataFrame([["2015-01-01",1],["2015-01-02",1],[np.nan,1],[np.nan,1],["2015-01-10",1],["2015-01-11",1]], columns = ['timestamp','value'])

continuous_segments = df[df.timestamp.notnull()].groupby(df.timestamp.isnull().cumsum())

for segment in continuous_segments:
print (segment[1])

timestamp value
0 2015-01-01 1
1 2015-01-02 1
timestamp value
4 2015-01-10 1
5 2015-01-11 1

关于python - Pandas 中的数据差距发现(不填补)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30338212/

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