如何在给定的不规则日期上对时间序列进行重新采样

zsljulius:
import pandas as pd
date_index = pd.date_range("2010-01-31", "2010-12-31", freq="M")
df  = pd.Series(range(12), index=date_index)

dates = date_index[1::2]

该系列df是每月一次的频率,我们希望通过将dates变量所给定的日期之间的值相加来重新采样

df 是:

2010-01-31     0
2010-02-28     1
2010-03-31     2
2010-04-30     3
2010-05-31     4
2010-06-30     5
2010-07-31     6
2010-08-31     7
2010-09-30     8
2010-10-31     9
2010-11-30    10
2010-12-31    11
Freq: M, dtype: int64

dates

DatetimeIndex(['2010-02-28', '2010-04-30', '2010-06-30', '2010-08-31',
               '2010-10-31', '2010-12-31'],
              dtype='datetime64[ns]', freq='2M')

预期结果应为:

2010-02-28     1
2010-04-30     5
2010-06-30     9
2010-08-31     13
2010-10-31     17
2010-12-31    21
耶斯雷尔:

想法是将dates的不匹配值替换为缺失值,Series.wherebfillbacj填充缺失值,然后聚合sum

date_index = pd.date_range("2010-01-31", "2010-12-31", freq="M")
s  = pd.Series(range(12), index=date_index)

dates = date_index[1::2]

a = s.index.to_series().where(s.index.isin(dates)).bfill()
out = s.groupby(a).sum()
print(out)
2010-02-28     1
2010-04-30     5
2010-06-30     9
2010-08-31    13
2010-10-31    17
2010-12-31    21
dtype: int64

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何对不规则的时间戳列表进行重新采样/降采样?

重新索引/对时间序列进行上采样时,是否有办法防止dtype从Int64更改为float64?

有没有办法在BigQuery中对时间序列数据进行重新采样?

来自不规则时间序列索引的pandas DataFrame重新采样

SQL查询对时间序列数据进行分类

根据开始和结束日期对时间序列数据进行分组

给定开始和结束日期的熊猫重新采样时间序列

如何将不规则的时间序列重新采样为每日频率,并一直延续到今天?

如何在字典对象中对时间戳进行排序

熊猫使用其他不规则时间列表对不规则时间序列进行重新采样和插值

在不规则时间进行测量时,如何对时间序列进行插值

删除前x个百分位数数据后,对时间序列重新采样

如何按天对时间间隔进行求和:给定的日期包含多少个时间间隔?

使用重复值对时间序列重新采样

Oracle如何对时间序列进行分类?

如何在R中增加不规则的时间序列数据

R如何对时间序列对象使用apply函数并将日期附加到特定列?

如何在sql中对时间(格式)数据进行分组

如何在R中对时间值进行分类

Python:对时间序列值进行排序

如何在R中对时间进行子集

如何在 SQL 中将所选日期列格式化为相对时间格式

熊猫重新采样不规则时间序列

如何从日期创建“相对时间”变量?

如何聚合不规则采样的数据以进行时间序列分析

如何在 R 中以 2 小时的间隔对时间戳列进行分类?

Pandas 数据框对时间序列数据进行分组

如何对时间序列分组桶进行加权平均

KQL 时间序列对时间范围进行分组 - Kusto