麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

對pandas中時間窗函數(shù)rolling的使用詳解

2020-02-15 23:48:59
字體:
供稿:網(wǎng)友

在建模過程中,我們常常需要需要對有時間關(guān)系的數(shù)據(jù)進行整理。比如我們想要得到某一時刻過去30分鐘的銷量(產(chǎn)量,速度,消耗量等),傳統(tǒng)方法復(fù)雜消耗資源較多,pandas提供的rolling使用簡單,速度較快。

函數(shù)原型和參數(shù)說明

DataFrame.rolling(window, min_periods=None, freq=None, center=False, win_type=None, on=None, axis=0, closed=None)

window:表示時間窗的大小,注意有兩種形式(int or offset)。如果使用int,則數(shù)值表示計算統(tǒng)計量的觀測值的數(shù)量即向前幾個數(shù)據(jù)。如果是offset類型,表示時間窗的大小。pandas offset相關(guān)可以參考這里。

min_periods:最少需要有值的觀測點的數(shù)量,對于int類型,默認與window相等。對于offset類型,默認為1。

freq:從0.18版本中已經(jīng)被舍棄。

center:是否使用window的中間值作為label,默認為false。只能在window是int時使用。

# 為方便觀察,并列排列df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]})df.rolling(3, min_periods=1).sum()df.rolling(3, min_periods=1, center=True).sum() B B1 B20 0.0 0.0 1.01 1.0 1.0 3.02 2.0 3.0 3.03 NaN 3.0 6.04 4.0 6.0 4.0

win_type:窗口類型,默認為None一般不特殊指定,了解支持的其他窗口類型,參考這里。

on:對于DataFrame如果不使用index(索引)作為rolling的列,那么用on來指定使用哪列。

closed:定義區(qū)間的開閉,曾經(jīng)支持int類型的window,新版本已經(jīng)不支持了。對于offset類型默認是左開右閉的即默認為right。可以根據(jù)情況指定為left both等。

axis:方向(軸),一般都是0。

舉例

一個簡單的場景,從A向B運送東西,我們想看一下以3秒作為一個時間窗運送的量。

# A地有兩個倉庫,都運往B。df = pd.DataFrame({'1': ['A1', 'A2', 'A1', 'A2', 'A2', 'A1', 'A2'],     '2': ['B1', 'B1', 'B1', 'B1', 'B1', 'B1', 'B1'],     'num': [1,2,1,3,4,2,1]},      index = [pd.Timestamp('20130101 09:00:00'),       pd.Timestamp('20130101 09:00:01'),       pd.Timestamp('20130101 09:00:02'),       pd.Timestamp('20130101 09:00:03'),       pd.Timestamp('20130101 09:00:04'),       pd.Timestamp('20130101 09:00:05'),       pd.Timestamp('20130101 09:00:06')])# 1 2 num# 2013-01-01 09:00:00 A1 B1 1# 2013-01-01 09:00:01 A2 B1 2# 2013-01-01 09:00:02 A1 B1 1# 2013-01-01 09:00:03 A2 B1 3# 2013-01-01 09:00:04 A2 B1 4# 2013-01-01 09:00:05 A1 B1 2# 2013-01-01 09:00:06 A2 B1 1

使用rolling進行計算

# 首先我們先對groupby進行聚合(如果只有從A->B,那么不用聚合一個rolling就可以)# 以9:00:04秒為例,由于時間窗是3s,默認的closed是right,所以我們相加04,03,02秒的num,共有4+3+0=7df.groupby(['1', '2'])['num'].rolling('3s').sum()# 1 2      # A1 B1 2013-01-01 09:00:00 1.0#   2013-01-01 09:00:02 2.0#   2013-01-01 09:00:05 2.0# A2 B1 2013-01-01 09:00:01 2.0#   2013-01-01 09:00:03 5.0#   2013-01-01 09:00:04 7.0#   2013-01-01 09:00:06 5.0# Name: num, dtype: float64            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久久久久久.comav | 久久不射电影 | 天天鲁在线视频免费观看 | 九艹在线 | 成年人在线免费播放视频 | 成人精品视频在线 | 欧美一级淫片免费视频1 | 久久久久免费精品国产小说色大师 | gril hd| 欧美成人精品一区二区男人小说 | 长泽雅美av | 一级做a爱片毛片免费 | 国产精品av久久久久久久久久 | 男女羞羞视频在线观看免费 | 在线a视频| 在线观看中文字幕av | 精品一区二区在线观看 | 欧美人与zoxxxx另类9 | 国产精品色综合 | 精品国产一级毛片 | 久久国精品 | 91情侣在线偷精品国产 | 欧美另类在线视频 | 精精国产xxxx视频在线野外 | china对白普通话xxxx | 国产精选电影免费在线观看 | 黄色片视频在线观看 | 神马久久蜜桃 | 91精品国产99久久久久久红楼 | 超级av在线| 91精品国产乱码久久桃 | 久久亚洲国产午夜精品理论片 | 色综合网在线观看 | 毛片免费大全短视频 | 欧美亚洲一级 | 人人舔人人射 | 欧美精品18videos性欧美 | 毛片视| 成人羞羞视频在线观看 | av影院在线播放 | 亚洲特黄a级毛片在线播放 久久久入口 |