gpt4 book ai didi

python - 使用 Python/Pandas 仅插入 TimeSerie 的一个值

转载 作者:太空宇宙 更新时间:2023-11-03 12:40:33 25 4
gpt4 key购买 nike

我有一个名为 tspandas.core.series.TimeSeries,如下所示:

timestamp
2013-08-11 14:23:50 0.3219
2013-08-11 14:23:49 0.3222
2013-08-11 14:19:14 0.3305
2013-08-11 00:47:15 0.3400
2013-08-11 00:47:15.001 0.3310
2013-08-11 00:47:15.002 0.3310
2013-08-10 22:38:15.003 0.3400
2013-08-10 22:38:14 0.3403
2013-08-10 22:38:13 0.3410

这个 TimeSerie 的索引是不规则间隔的。

我想为给定的日期时间获取 ts 的值,例如 2013-08-11 14:20:00

我只需要插入ONE 值,而不是整个 TimeSerie

我只想使用线性函数在前一个索引 (2013-08-11 14:23:49) 和下一个索引 (2013-08-11 14) 之间插入数据:19:14)

最佳答案

谢谢 Dan Allan。恐怕我没有发表评论的声誉,但如果要求插入 ts 索引中已经定义的时间,Dan Allan 的插值函数会引发异常。例如

s = pd.to_datetime('2015-08-26 00:00:00')
e = pd.to_datetime('2015-08-26 00:10:00')
ts=pd.Series([0,8000],index=[s,e])
interpolate(ts,pd.to_datetime('2015-08-26 00:00:00'))

我对上面的小改动是:

def interpolate(ts, target):
if target in ts.index:
return ts[target]
ts1 = ts.sort_index()
b = (ts1.index > target).argmax() # index of first entry after target
s = ts1.iloc[b-1:b+1]
# Insert empty value at target time.
s = s.reindex(pd.to_datetime(list(s.index.values) + [pd.to_datetime(target)]))
return s.interpolate(method='time').loc[target]

关于python - 使用 Python/Pandas 仅插入 TimeSerie 的一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18182030/

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