python時間序列

2021-10-02 14:17:31 字數 4261 閱讀 9415

from datetime import datetime

# 返回當前時刻的日期和時間

print

(datetime.now())

# 分別返回當前時刻的年,月,日

print

(datetime.now(

).year)

print

(datetime.now(

).month)

print

(datetime.now(

).day)

# 返回當前時刻的週數

# 返回週幾

print

(datetime.now(

).weekday()+

1)# 返回週數

print

(datetime.now(

).isoweekday(

))

from datetime import datetime

print

(datetime.now(

).date())

print

(datetime.now(

).time())

# 借助strftime函式可以自定義時間和日期的格式

print

(datetime.now(

).strftime(

'%y-%m-%d'))

print

(datetime.now(

).strftime(

'%y-%m-%d %h:%m:%s'

))

from datetime import datetime

from dateutil.parser import parse

now = datetime.now(

)print

(now)

# 檢視now資料型別

print

(type

(now)

)# 將時間資料型別轉換成字串格式

print

(type

(str

(now)))

# 將字串格式轉換為時間格式

str_time =

'1999-11-11'

print

(type

(str_time)

)# 將字串解析成時間

print

(parse(str_time)

)print

(type

(parse(str_time)

))

'''

時間索引:就是根據時間來對時間格式的字段進行資料選取的一種索引方式

在python中,可以選取具體的某一時間對應的值,也可以選擇某一段時間內的值

'''import pandas as pd

import numpy as np

from datetime import datetime

index = pd.datetimeindex(

['2018-01-01'

,'2018-01-02'

,'2018-01-03'

,'2018-01-04'

,'2018-01-05'

,'2018-01-06'

,'2018-01-07'

,'2018-01-08'

,'2018-01-09'

,'2018-01-10'])

data = pd.dataframe(np.arange(1,

11),index=index,columns=

['num'])

print

(data)

# 獲取2023年的資料

print

(data[

'2018'])

# 獲取2023年1月的資料

print

(data[

"2018-01"])

# 獲取2023年1月1日到2023年1月5日的資料

print

(data[

"2018-01-01"

:"2018-01-05"])

'''上面的方法只適用於索引是時間的情況下,並不是所有的情況都適合

'''print

('..........換資料..............'

)df = pd.read_excel(

"/users/caizhengjie/desktop/資料1.xlsx"

)print

(df)

# 選取成交時間為2023年8月8日

print

(df[df[

'成交時間'

]==datetime(

2018,8

,8)]

)# 選取成交時間為2023年8月9日之後的訂單

print

(df[df[

'成交時間'

]> datetime(

2018,8

,9)]

)# 選取成交時間為2023年8月10日之前的訂單

print

(df[df[

'成交時間'

]< datetime(

2018,8

,10)]

)# 選取成交時間為2023年8月8日到2023年8月11日之間的訂單

print

(df[

(df[

'成交時間'

]> datetime(

2018,8

,8))

&(df[

'成交時間'

]< datetime(

2018,8

,11))

])

from datetime import datetime

from datetime import timedelta

from pandas.tseries.offsets import day,hour,minute

cha = datetime(

2020,2

,2,11

,34)-datetime(

2020,1

,23,1

,2)print

(cha)

#差為10 days, 10:32:00

# 返回天的時間差

print

(cha.days)

# 返回秒的時間差

print

(cha.seconds)

# 換成小時差

print

(cha.seconds/

3600

)'''

時間偏移:就是給時間往前或往後推一段時間,即加減一段時間

python時間偏移方式有兩種:1。借助timedelta,但是它只能偏移天,秒,微秒單位的時間

2。用pandas中的日期偏移量(date offset)

'''# timedelta

data = datetime(

2019,3

,4,5

,3)# 往後推一天

print

(data+timedelta(days=1)

)# 往後推60秒

print

(data + timedelta(seconds=60)

)# 往前推一天

print

(data-timedelta(days=1)

)# 往前推60秒

print

(data - timedelta(seconds=60)

)print

("。。。。。。。。。。。。。。。。"

)# date offset:可以直接實現天,小時,分鐘單位時間的偏移,不需要換算,相比timedelta更方便

# 往後推一天

print

(data+day(1)

)# 往後推1小時

print

(data+hour(1)

)# 往後推10分鐘

print

(data+minute(10)

)# 往前推一天

print

(data-day(1)

)# 往前推1小時

print

(data-hour(1)

)# 往前推10分鐘

print

(data-minute(10)

)

時間序列python

平穩性檢測 平穩性的定義 圍繞乙個常數上下波動且波動範圍有限,即有常數均值和常數方差。如果有明顯的趨勢或者週期性,那它通常不是平穩序列。檢測方法有三種 1 時序圖檢測 2 自相關係數和偏相關係數 通過spss 截尾 就是在某階之後,係數都為0 拖尾 就是有乙個緩慢衰減的趨勢,但是不都為0 2.不平穩...

python時間序列2

錨定位置 from pandas.tseries.offsets import day,monthend now datetime.datetime 2011,11,17 錨定偏置量 monthend print now 3 day monthend將now這個日期移至本月末尾 如果日期已經是本月末...

python時間序列分析

什麼是時間序列 時間序列簡單的說就是各時間點上形成的數值串行,時間序列分析就是通過觀察歷史資料 未來的值。在這裡需要強調一點的是,時間序列分析並不是關於時間的回歸,它主要是研究自身的變化規律的 這裡不考慮含外生變數的時間序列 為什麼用python 用兩個字總結 情懷 愛屋及烏,個人比較喜歡pytho...