欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas時間序列基礎(chǔ)詳解(轉(zhuǎn)換,索引,切片)

 更新時間:2020年02月26日 10:24:04   作者:Roddy_Liu  
今天小編就為大家分享一篇Pandas時間序列基礎(chǔ)詳解(轉(zhuǎn)換,索引,切片),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

時間序列的類型:

時間戳:具體的時刻

固定的時間區(qū)間:例如2007年的1月或整個2010年

時間間隔:由開始時間和結(jié)束時間表示,時間區(qū)間可以被認(rèn)為是間隔的特殊情況

實驗時間和消耗時間:每個時間是相對于特定開始時間的時間的量度,(例如自從被放置在烤箱中每秒烘烤的餅干的直徑)

日期和時間數(shù)據(jù)的類型及工具

datetime模塊中的類型:

date   使用公歷日歷存儲日歷日期(年,月,日) 
time   將時間存儲為小時,分鐘,秒,微秒
datetime  存儲日期和時間
timedelta  表示兩個datetime值之間的差(如日,秒,微秒)
tzinfo  用于存儲時區(qū)信息的基本類型

from datetime import datetime
now = datetime.now()
now.year  #當(dāng)時年份
now.month  #當(dāng)前月份
now.day  #當(dāng)前天
now.time()  #當(dāng)前時間
datetime.time(12, 27, 41, 303676)

 兩個時間戳運算得到一個timedelta(時間差)類型

日期時間差 timedelta類型

from datetime import timedelta

start = datetime(2019,2,5)
start + timedelta(20)  #默認(rèn)為天
datetime.datetime(2019, 2, 25, 0, 0)

字符串和datetime互相轉(zhuǎn)換

date.strptime方法將字符串轉(zhuǎn)換為時間

values = '2019-8-9'
datetime.strptime(values,'%Y-%m-%d')  #是在已知格式的前提下轉(zhuǎn)換日期的好方式
datetime.datetime(2019, 8, 9, 0, 0)

datestrs = ['2019-8-7','2019-8-9']
[datetime.strptime(values,'%Y-%m-%d') for values in datestrs]
[datetime.datetime(2019, 8, 7, 0, 0), datetime.datetime(2019, 8, 9, 0, 0)]

更為通用的日期轉(zhuǎn)換格式

from dateutil.parser import parse
parse(values)
datetime.datetime(2019, 8, 9, 0, 0)
parse('8,5,2018',dayfirst=True) #dayfirst參數(shù) 第一個元素是天
datetime.datetime(2018, 5, 8, 0, 0)

pd.to_datetime() 用于軸索引或DataFrame的列

pd.to_datetime(datestrs)
DatetimeIndex(['2019-08-07', '2019-08-09'], dtype='datetime64[ns]', freq=None)

更為簡單的轉(zhuǎn)換

datetime(2019,1,1)
datetime.datetime(2019, 1, 1, 0, 0)

時間序列的算術(shù)運算(在日期上自動對齊)

index = pd.date_range('3/3/2018',periods=20)
ts = pd.Series(np.random.randn(20),index=index)
ts
2018-03-03 0.611591
2018-03-04 0.119168
2018-03-05 0.514390
2018-03-06 1.010600
2018-03-07 0.181763
2018-03-08 -0.290964
2018-03-09 0.252927
2018-03-10 -1.645692
2018-03-11 -0.500014
2018-03-12 -1.247355​

ts1 = ts[::2]
2018-03-03 0.611591
2018-03-05 0.514390
2018-03-07 0.181763
2018-03-09 0.252927
2018-03-11 -0.500014
2018-03-13 -0.122307
2018-03-15 0.361237
2018-03-17 -1.894853
2018-03-19 -1.608989
2018-03-21 1.274982
Freq: 2D, dtype: float64

ts + ts1
2018-03-03 1.223183
2018-03-04  NaN
2018-03-05 1.028781
2018-03-06  NaN
2018-03-07 0.363526
2018-03-08  NaN
2018-03-09 0.505853
2018-03-10  NaN
2018-03-11 -1.000028
2018-03-12  NaN
2018-03-13 -0.244613
2018-03-14  NaN
2018-03-15 0.722473
2018-03-16  NaN
2018-03-17 -3.789707
2018-03-18  NaN
2018-03-19 -3.217979
2018-03-20  NaN
2018-03-21 2.549963
2018-03-22  NaN

ts.index.dtype  #數(shù)據(jù);類型在納秒級的分辨率下存儲時間戳
dtype('<M8[ns]')

ts.index[0]  #datetimeindex中的標(biāo)量值是一個時間戳(timestamp)
Timestamp('2018-03-03 00:00:00', freq='D')

時間序列的索引,選擇,子集

時間序列的索引

ts = pd.Series(np.random.randn(1000),index = pd.date_range('1/1/2016',periods=1000))

s['2018-6'] #時間序列的索引 也可用ts.loc[]
2018-06-01 1.371843
2018-06-02 -0.356041
2018-06-03 0.111452
2018-06-04 0.325222
2018-06-05 -0.863138
2018-06-06 -0.115909
2018-06-07 0.062894
2018-06-08 0.223712

時間序列的切片

ts['2018-9-23':]  #時間序列的切片
2018-09-23 0.005519
2018-09-24 -1.374038
2018-09-25 1.769112
2018-09-26 -0.000306
Freq: D, dtype: float64

ts.truncate(before='2018-9-24')  #使用truncate方法向后切片
2018-09-24 -1.374038
2018-09-25 1.769112
2018-09-26 -0.000306
Freq: D, dtype: float64

ts.truncate(after='2016-1-4')  #向前切片
2016-01-01 -1.776334
2016-01-02 -0.488550
2016-01-03 -1.299889
2016-01-04 -1.883413
Freq: D, dtype: float64

含有重復(fù)索引的時間序列的分組處理

index = pd.DatetimeIndex(['1/1/2017','1/1/2017','1/2/2017','1/3/2017'])
dup_ta = pd.Series(np.arange(4),index=index)
dup_ta
2017-01-01 0
2017-01-01 1
2017-01-02 2
2017-01-03 3
dtype: int32

dup_ta.groupby(level=0).mean()

以上這篇Pandas時間序列基礎(chǔ)詳解(轉(zhuǎn)換,索引,切片)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Numpy數(shù)組array和矩陣matrix轉(zhuǎn)換方法

    Numpy數(shù)組array和矩陣matrix轉(zhuǎn)換方法

    這篇文章主要介紹了Numpy數(shù)組array和矩陣matrix轉(zhuǎn)換方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python簡單過濾字母和數(shù)字的方法小結(jié)

    Python簡單過濾字母和數(shù)字的方法小結(jié)

    這篇文章主要介紹了Python簡單過濾字母和數(shù)字的方法,涉及Python基于內(nèi)置函數(shù)與正則表達(dá)式進(jìn)行字母和數(shù)字過濾的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • 自定義實現(xiàn) PyQt5 下拉復(fù)選框 ComboCheckBox的完整代碼

    自定義實現(xiàn) PyQt5 下拉復(fù)選框 ComboCheckBox的完整代碼

    這篇文章主要介紹了自定義實現(xiàn) PyQt5 下拉復(fù)選框 ComboCheckBox的完整代碼,本文通過實例代碼講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python實現(xiàn)兩種稀疏矩陣的最小二乘法

    Python實現(xiàn)兩種稀疏矩陣的最小二乘法

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)的兩種稀疏矩陣最小二乘法lsqr和lsmr,前者是經(jīng)典算法,后者來自斯坦福優(yōu)化實驗室,據(jù)稱可以比lsqr更快收斂,感興趣的可以了解一下
    2023-02-02
  • 利用Pygame繪制圓環(huán)的示例代碼

    利用Pygame繪制圓環(huán)的示例代碼

    這篇文章主要介紹了利用Python中的Pygame模塊繪制一個彩色的圓環(huán),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Pygame有一定幫助,需要的可以參考一下
    2022-01-01
  • python中hashlib模塊用法示例

    python中hashlib模塊用法示例

    這篇文章主要介紹了python中hashlib模塊用法示例,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • python在每個字符后添加空格的實例

    python在每個字符后添加空格的實例

    今天小編就為大家分享一篇python在每個字符后添加空格的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python批量讀取文件名并寫入txt文件中

    python批量讀取文件名并寫入txt文件中

    這篇文章主要為大家詳細(xì)介紹了python批量讀取文件名并寫入txt文件中,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python動態(tài)視頻下載器的實現(xiàn)方法

    python動態(tài)視頻下載器的實現(xiàn)方法

    這里向大家分享一下python爬蟲的一些應(yīng)用,主要是用爬蟲配合簡單的GUI界面實現(xiàn)視頻,音樂和小說的下載器。今天就先介紹如何實現(xiàn)一個動態(tài)視頻下載器,需要的朋友可以參考下
    2019-09-09
  • python腳本實現(xiàn)分析dns日志并對受訪域名排行

    python腳本實現(xiàn)分析dns日志并對受訪域名排行

    這篇文章主要介紹了python腳本實現(xiàn)分析dns日志并對受訪域名排行,本文是在Windows服務(wù)器環(huán)境中實現(xiàn),需要的朋友可以參考下
    2014-09-09

最新評論