最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Pandas時(shí)間序列:時(shí)期(period)及其算術(shù)運(yùn)算詳解

 更新時(shí)間:2020年02月25日 10:38:48   作者:BQW_  
今天小編就為大家分享一篇Pandas時(shí)間序列:時(shí)期(period)及其算術(shù)運(yùn)算詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

import pandas as pd
import numpy as np

一、時(shí)間類型及其在python中對(duì)應(yīng)的類型

時(shí)間戳–timestamp

時(shí)間間隔–timedelta

時(shí)期–period

二、時(shí)期

時(shí)期表示的是時(shí)間區(qū)間,比如數(shù)日、數(shù)月、數(shù)季、數(shù)年等

1.定義一個(gè)Period

p = pd.Period(2007,freq='A-DEC') #表示以12月作為結(jié)束的一整年,這里表示從2007-01-01到2017-12-31的全年
p

Period('2007', 'A-DEC')

2.通過(guò)加減整數(shù)可以實(shí)現(xiàn)對(duì)Period的移動(dòng)

p+5

Period('2012', 'A-DEC')

p-2

Period('2005', 'A-DEC')

3.如果兩個(gè)Period對(duì)象擁有相同頻率,則它們的差就是它們之間的單位數(shù)量

pd.Period('2014',freq='A-DEC') - p

4.period_range函數(shù)可用于創(chuàng)建規(guī)則的時(shí)期范圍

rng = pd.period_range('1/1/2000','6/30/2000',freq='M') #創(chuàng)建從2001-01-01到2000-06-30所有月份的Period
pd.Series(np.random.randn(6),index=rng)

2000-01 -1.125053
2000-02 1.035250
2000-03 -0.796830
2000-04 0.381285
2000-05 0.533522
2000-06 -2.733462
Freq: M, dtype: float64

5.PeriodIndex類的構(gòu)造函數(shù)允許直接使用一組字符串表示一段時(shí)期

values = ['2001Q3','2002Q2','2003Q1']
index = pd.PeriodIndex(values,freq='Q-DEC')
index

PeriodIndex(['2001Q3', '2002Q2', '2003Q1'], dtype='period[Q-DEC]', freq='Q-DEC')

三、時(shí)期的頻率轉(zhuǎn)換-asfreq

1.通過(guò)asfreq可以將頻率轉(zhuǎn)換

p = pd.Period('2007',freq='A-DEC') # 2007年1月1日到2007年12月31日

p.asfreq('M',how='start') # 將評(píng)率為年(20070101-20071231)轉(zhuǎn)換頻率為月201701

Period('2007-01', 'M')

p.asfreq('M',how='end') # 將評(píng)率為年(20070101-20071231)轉(zhuǎn)換頻率為月201712

Period('2007-12', 'M')

2.不同頻率經(jīng)過(guò)asfreq轉(zhuǎn)換后的結(jié)果不同

p = pd.Period('2007',freq='A-JUN') # 2006年7月1日到2007年6月30日

p.asfreq('D','start')

Period('2006-07-01', 'D')

p.asfreq('D','end')

Period('2007-06-30', 'D')

3.從高頻率轉(zhuǎn)換為低頻率時(shí),超時(shí)期(較大的時(shí)期)是由子時(shí)期(較小的時(shí)期)的位置絕對(duì)的

p = pd.Period('2007-08','M')

p.asfreq('A-JUN') # 200708對(duì)于頻率A-JUN是屬于2008年度的

Period('2008', 'A-JUN')

4.對(duì)于PeriodIndex或TimeSeries的頻率轉(zhuǎn)換方式相同

rng = pd.period_range('2006','2009',freq='A-DEC')

ts = pd.Series(np.random.randn(len(rng)),index=rng)
ts

2006 -1.202858
2007 -1.132553
2008 0.902564
2009 0.800859
Freq: A-DEC, dtype: float64

ts.asfreq('M',how='start')

2006-01 -1.202858
2007-01 -1.132553
2008-01 0.902564
2009-01 0.800859
Freq: M, dtype: float64

ts.asfreq('B',how='end')

2006-12-29 -1.202858
2007-12-31 -1.132553
2008-12-31 0.902564
2009-12-31 0.800859
Freq: B, dtype: float64

四、按季度計(jì)算的時(shí)期頻率

許多季度型數(shù)據(jù)會(huì)涉及“財(cái)年末”的概念,通常是一年12個(gè)月中某月的最后一個(gè)工作日或日歷日。因此,時(shí)間“2012Q4”根據(jù)財(cái)年末的不同會(huì)有不同的含義。pandas支持12種可能的季度型頻率,即Q-JAN到Q-DEC。

1.財(cái)政年度和季度

p = pd.Period('2012Q4',freq='Q-JAN') # Q-JAN是指1月末的工作日是財(cái)政年末
p

Period('2012Q4', 'Q-JAN')

p.asfreq('D','start')

Period('2011-11-01', 'D')

p.asfreq('D','end')

Period('2012-01-31', 'D')

2.該季度倒數(shù)第二個(gè)工作日的下午4點(diǎn)

p4pm = (p.asfreq('B','e')-1).asfreq('T','s')+16*60
p4pm.to_timestamp()

Timestamp('2012-01-30 16:00:00')

3.相同的運(yùn)算可以應(yīng)用到TimeSeries

rng = pd.period_range('2011Q3','2012Q4',freq='Q-JAN')
ts = pd.Series(np.arange(len(rng)),index=rng)
ts
2011Q3 0
2011Q4 1
2012Q1 2
2012Q2 3
2012Q3 4
2012Q4 5
Freq: Q-JAN, dtype: int32
new_rng = (rng.asfreq('B','e')-1).asfreq('T','s')+16*60
ts.index = new_rng.to_timestamp()
ts
2010-10-28 16:00:00 0
2011-01-28 16:00:00 1
2011-04-28 16:00:00 2
2011-07-28 16:00:00 3
2011-10-28 16:00:00 4
2012-01-30 16:00:00 5
dtype: int32

五、Timestamp與Period互相轉(zhuǎn)換

1.通過(guò)to_period方法,可以將時(shí)間戳(timestamp)索引的Series和DataFrame對(duì)象轉(zhuǎn)換為以時(shí)期(period)索引

rng = pd.date_range('1/1/2000',periods=3,freq='M')
ts = pd.Series(np.random.randn(3),index=rng)
ts
2000-01-31 -0.501502
2000-02-29 -1.299610
2000-03-31 -0.705091
Freq: M, dtype: float64

pts = ts.to_period()
pts

2000-01 -0.501502
2000-02 -1.299610
2000-03 -0.705091
Freq: M, dtype: float64

2.將timestamp轉(zhuǎn)換為period是運(yùn)行重復(fù)的

rng = pd.date_range('1/29/2000',periods=6,freq='D')
ts2 = pd.Series(np.random.randn(6),index=rng)
ts2.to_period('M')
2000-01 1.368367
2000-01 -0.256934
2000-01 0.417902
2000-02 -1.065910
2000-02 -1.694405
2000-02 0.665471
Freq: M, dtype: float64

3.to_timestamp可以將period轉(zhuǎn)換為timestamp

pts.to_timestamp(how='end')

2000-01-31 -0.501502
2000-02-29 -1.299610
2000-03-31 -0.705091
Freq: M, dtype: float64

六、通過(guò)數(shù)組創(chuàng)建PeriodIndex

某些數(shù)據(jù)集中時(shí)間信息是分開(kāi)在多個(gè)列存放的,可以通過(guò)PeriodIndex的參數(shù)將這些列組合在一起

year = [2017,2017,2017,2017,2018,2018,2018,2018]
quarter = [1,2,3,4,1,2,3,4]
index = pd.PeriodIndex(year=year,quarter=quarter,freq='Q-DEC')
index
PeriodIndex(['2017Q1', '2017Q2', '2017Q3', '2017Q4', '2018Q1', '2018Q2',
    '2018Q3', '2018Q4'],
   dtype='period[Q-DEC]', freq='Q-DEC')

以上這篇Pandas時(shí)間序列:時(shí)期(period)及其算術(shù)運(yùn)算詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中格式化format()方法詳解

    Python中格式化format()方法詳解

    這篇文章主要介紹了 Python中格式化format()方法詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • python實(shí)現(xiàn)內(nèi)存監(jiān)控系統(tǒng)

    python實(shí)現(xiàn)內(nèi)存監(jiān)控系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)內(nèi)存監(jiān)控系統(tǒng),通過(guò)系統(tǒng)命令或操作系統(tǒng)文件獲取到內(nèi)存信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Django中celery的使用項(xiàng)目實(shí)例

    Django中celery的使用項(xiàng)目實(shí)例

    Celery是?個(gè) 基于python開(kāi)發(fā)的分布式異步消息任務(wù)隊(duì)列,通過(guò)它可以輕松的實(shí)現(xiàn)任務(wù)的異步處理,下面這篇文章主要給大家介紹了關(guān)于Django中celery使用的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 實(shí)例講解python中的序列化知識(shí)點(diǎn)

    實(shí)例講解python中的序列化知識(shí)點(diǎn)

    本篇文章通過(guò)代碼實(shí)例給大家詳細(xì)分享了關(guān)于python中的序列化知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2018-10-10
  • Python 中閉包與裝飾器案例詳解

    Python 中閉包與裝飾器案例詳解

    這篇文章主要介紹了Python 中閉包與裝飾器案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 基于django傳遞數(shù)據(jù)到后端的例子

    基于django傳遞數(shù)據(jù)到后端的例子

    今天小編就為大家分享一篇基于django傳遞數(shù)據(jù)到后端的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Django 拼接兩個(gè)queryset 或是兩個(gè)不可以相加的對(duì)象實(shí)例

    Django 拼接兩個(gè)queryset 或是兩個(gè)不可以相加的對(duì)象實(shí)例

    這篇文章主要介紹了Django 拼接兩個(gè)queryset 或是兩個(gè)不可以相加的對(duì)象實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python模塊搜索概念介紹及模塊安裝方法介紹

    Python模塊搜索概念介紹及模塊安裝方法介紹

    這篇文章主要介紹了Python模塊搜索概念介紹及模塊安裝方法介紹,本文詳細(xì)講解了import模塊的運(yùn)作原理,搜索路徑的過(guò)程以及模塊安裝的多種方法,需要的朋友可以參考下
    2015-06-06
  • Python小紅書(shū)旋轉(zhuǎn)驗(yàn)證碼識(shí)別實(shí)戰(zhàn)教程

    Python小紅書(shū)旋轉(zhuǎn)驗(yàn)證碼識(shí)別實(shí)戰(zhàn)教程

    這篇文章主要介紹了Python小紅書(shū)旋轉(zhuǎn)驗(yàn)證碼識(shí)別實(shí)戰(zhàn)教程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-08-08
  • python算法練習(xí)之抓交通肇事犯

    python算法練習(xí)之抓交通肇事犯

    這篇文章主要該大家分享python算法抓交通肇事犯得練習(xí),文章主要通過(guò)描述抓交通肇事犯得問(wèn)題然后確定程序框架將結(jié)果運(yùn)算出來(lái),下面來(lái)看詳細(xì)內(nèi)容吧,需要的朋友可以參考一下喲
    2021-10-10

最新評(píng)論

甘肃省| 龙南县| 邵东县| 许昌县| 泾阳县| 九龙城区| 岱山县| 白山市| 杭锦旗| 上栗县| 鲁甸县| 土默特左旗| 赤水市| 封开县| 龙泉市| 正镶白旗| 渝北区| 自贡市| 新竹市| 雷州市| 义马市| 绵竹市| 疏勒县| 浦北县| 合肥市| 汽车| 修水县| 定日县| 凤凰县| 云南省| 桑日县| 龙海市| 海林市| 贞丰县| 综艺| 龙州县| 铜梁县| 喀喇| 阿坝| 南和县| 青州市|