Python處理時間序列常用方法彙總

2021-10-04 23:18:42 字數 3046 閱讀 8426

1. 獲取當前時刻時間

from datetime import datetime

print(datetime.now())

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

from datetime import datetime

print(datetime.now().year)

print(datetime.now().month)

print(datetime.now().day)

返回當前時刻的週數:

from datetime import datetime

​#週幾

print(datetime.now().weekday()+1)

#某一年第幾周第幾天

print(datetime.now().isocalendar())

2. 指定日期和時間的格式

from datetime import datetime

​#借助date()函式將日期和時間設定成只展示日期

print(datetime.now().date())

#借助time()函式將日期和時間設定成只展示日期

print(datetime.now().time())

#借助strftime()函式自定義日期和時間

print(datetime.now().strftime('%y-%m-%d'))

#借助strftime()函式自定義日期和時間

print(datetime.now().strftime("%y-%m-%d %h:%m:%s"))

3. 字串和時間格式相互轉換將時間格式轉換成字串格式:

from datetime import datetime

​#新建時間格式的時間,賦值給變數now

now = datetime.now()

#用str()函式將now轉換為字串

print(type(str(now)))

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

from dateutil.parser import parse

​#新建乙個字串格式的時間

str_time = "2020-03-27"

#用解析函式parse()將str_time解析為時間

print(type(parse(str_time)))

4. 時間索引

import pandas as pd

import numpy as np

#建立資料集

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),columns=['num'],index=index)

​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"])

5. 時間運算兩個時間之差:

from datetime import datetime

​#兩個時間之差

cha = datetime(2018,5,21,19,50) - datetime(2018,5,18,20,30)

print (cha)

#返回天的時間差

print(cha.days)

#返回秒的時間差

print(cha.seconds)

#換算成小時的時間差

print(cha.seconds/3600)

時間偏移(timedelta):

from datetime import timedelta

from datetime import datetime

​date = datetime(2018,5,18,20,32)

​#往後推一天

print(date+timedelta(days=1))

#往後推60秒

print(date+timedelta(seconds=60))

#往前推一天

print(date-timedelta(days=1))

#往前推60秒

print(date-timedelta(seconds=60))

時間偏移(date offset):

import pandas as pd

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

from datetime import timedelta

from datetime import datetime

​date = datetime(2018,5,18,20,32)

​#往後推一天

print(date+day(1))

#往後推1小時

print(date+hour(1))

#往後推10分鐘

python時間處理常用

import time 當前時間戳 time.time 1575430925.420576當前時間結構 time.localtime 時間結構 time.struct time tm year 2019 tm mon 12,tm mday 4,tm hour 11,tm min 43,tm sec ...

Python處理時間序列資料

初償用python處理時間序列的資料,碰到一些坑。以此文記錄一下,希望後來者可以少走彎路。背景說明 我是用乙個已有的csv資料表作為原材料進行處理的。目的 實現時間序列的視覺化,及週期性的視覺化。1 碰到的第乙個坑是,匯入到時間資料,預設的是字串的資料型別。因此,在視覺化的時候,會出現沒有按時間先後...

時間序列處理

在處理時間序列時,由於秒級別的資料重複率非常高,所以想將秒資料的秒處理掉,只保留分精確度。data location time 1 strftime y m d h m 遇到這種情況 attributeerror str object has no attribute strftime 在stack...