Pandas重叠重采样-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Pandas重叠重采样

2020-03-24 15:57:30 179 1

我想对我的时间索引DataFrame进行一些重采样。

例如:

>>> df
                     data
date                     
2018-03-09 12:00:00     1
2018-03-09 12:00:01     1
2018-03-09 12:00:02     1
2018-03-09 12:00:03     1
2018-03-09 12:00:04     1
2018-03-09 12:00:05     1
2018-03-09 12:00:06     1
2018-03-09 12:00:07     1
2018-03-09 12:00:08     1
2018-03-09 12:00:09     1
2018-03-09 12:00:10     1
2018-03-09 12:00:11     2
2018-03-09 12:00:12     2
2018-03-09 12:00:13     2
2018-03-09 12:00:14     2
2018-03-09 12:00:15     2
2018-03-09 12:00:16     2
2018-03-09 12:00:17     2
2018-03-09 12:00:18     2
2018-03-09 12:00:19     2
2018-03-09 12:00:20     2
2018-03-09 12:00:21     3
2018-03-09 12:00:22     3
2018-03-09 12:00:23     3
2018-03-09 12:00:24     3
2018-03-09 12:00:25     3
2018-03-09 12:00:26     3
2018-03-09 12:00:27     3
2018-03-09 12:00:28     3
2018-03-09 12:00:29     3
2018-03-09 12:00:30     3

经过10秒和2秒的重叠重采样后,结果应如下所示:

>>> df
                     data
date                     
2018-03-09 12:00:10     14
2018-03-09 12:00:20     28
2018-03-09 12:00:30     34

我尝试将其分组,但是在大型数据集上却非常慢。

是否有一种快速有效的方法来实现这一目标?

问题来源:stackoverflow

取消 提交回答
全部回答(1)
  • is大龙
    2020-03-24 15:57:38

    假设您的数据是规则间隔的,则可以“合并”移位后的序列,然后求和。

    N = 10  # Every 10 seconds from first row
    ov = 2  # 2s overlap on either side
    
    pd.concat([df.shift(i).iloc[::N] for i in range(-ov, N+ov)], axis=1).sum(1)
    

    *

    date 2018-03-09 12:00:00 3.0 2018-03-09 12:00:10 15.0 2018-03-09 12:00:20 28.0 2018-03-09 12:00:30 34.0 dtype: float64 *对于多列,将其沿列轴变成groupby: df['data2'] = df['data']+1 # Another column

    (pd.concat([df.shift(i).iloc[::N] for i in range(-ov, N+ov)], axis=1)
       .groupby(level=0, axis=1).sum())
    
                         data  data2
    date                            
    2018-03-09 12:00:00   3.0    6.0
    2018-03-09 12:00:10  15.0   28.0
    2018-03-09 12:00:20  28.0   42.0
    2018-03-09 12:00:30  34.0   46.0
    

    回答来源:stackoverflow

    0 0
相关问答

54

回答

阿里云已停止对MySQL5.1的版本维护,快快快升级版本吧

rds-pd 2014-11-12 16:21:57 62185浏览量 回答数 54

38

回答

干货分享:DBA专家门诊一期:索引与sql优化问题汇总

xiaofanqie 2014-12-25 15:13:38 92091浏览量 回答数 38

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337018浏览量 回答数 8

36

回答

SQL Server优化案例分享【精品问答集锦】

管理贝贝 2016-08-25 10:14:03 45527浏览量 回答数 36

27

回答

阿里云开源软件镜像站点上线啦!!

qilu 2014-01-06 18:14:06 96096浏览量 回答数 27

11

回答

【精品问答合集】MongoDB热门问答

李博 bluemind 2019-05-29 16:50:19 121334浏览量 回答数 11

31

回答

【入门教程系列】Linux系统建站完整教程(适用于新手初级站长)

wujian8150 2011-09-26 16:53:51 49097浏览量 回答数 31

11

回答

速戳 | 20位阿里出题专家-备战阿里必不可少的题目

Runt 2020-04-15 10:54:04 57614浏览量 回答数 11

19

回答

云数据库RDS MySQL版【问答合集】

我是管理员 2018-08-03 15:10:37 48153浏览量 回答数 19

1

回答

阿里云各种产品使用索引(更新2015.08.17)

梦丫头 2015-07-18 12:19:16 71672浏览量 回答数 1
+关注
0
文章
1138
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载