Python時間處理

2021-07-30 11:16:11 字數 2738 閱讀 4753

使用pandas的read_csv函式,parse_dates 直接將檔案中的一列解析為時間,index_col 將一列作為索引,時間列作為索引時,索引列型別為datetime64。

在此dataframe新增一行新的時間資料

重取樣指的是將時間序列從乙個頻率轉換到另乙個頻率的過程將高頻率資料聚合到低頻率稱為降取樣,而將低頻率資料轉換到高頻率則稱為公升取樣。pandas物件都帶有乙個resample方法,它是頻率轉換的主力函式。resample方法的引數如下:

示例將1中的資料降取樣為20min

a.加減法

time1 = volume_train_df.index[0]#2016-09-19 23:09:25

time2 = volume_train_df.index[11]#2016-09-19 23:23:41

time1 - time2

對於timestamp型別的兩個日期不存在加法,只有減法,兩timestamp物件相減得到的是乙個timedelta,也就是乙個時間段。

b.使用timedelta實現時間的增加減少

建構函式:

class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

所有引數可選,且預設都是0,引數的值可以是整數,浮點數,正數或負數。

time1 = volume_train_df.index[0]#2016-09-19

23:09:25

tim1 = timedelta(minutes=13)

time1 + tim1

##out: timestamp('2016-09-19 23:22:25')

c.時間的比較python可直接判斷兩個時間的大小

time1 = volume_train_df.index[0]#2016-09-19

23:09:25

time2 = volume_train_df.index[11]#2016-09-19

23:23:41

time1 > time2

outfalse

d.對乙個時間變數取其分量

time1 = volume_train_df.index[0]#2016-09-19

23:09:25

time1.minute

#time1.year, time1.month, time1.day,time1.hour

a.時間字串 –> 時間戳

timestring = '2016-12-21 10:22:56'

print

time.mktime(time.strptime(timestring, '%y-%m-%d %h:%m:%s')) # 1482286976.0

time.mktime() 與 time.localtime() 互為還原函式。

time.mktime(timetuple) :將時間元組轉換成時間戳

time.localtime([timestamp]):將時間戳轉會為時間元組

b.時間戳 –> 時間字串

timestamp = time.time()

timestruct = time.localtime(timestamp)

print

time.strftime('%y-%m-%d %h:%m:%s', timestruct) # 2016-12-22 10:49:57

python 時間處理

django,pytz環境下處理時區問題 datetime obj.replace tzinfo pytz.utc astimezone pytz.timezone settings.time zone 建構函式 date類表示乙個日期。日期由年 月 日組成 地球人都知道 date類的建構函式如下 ...

Python 時間處理

1.時間字串 時間戳 timestr 2017 06 06 10 00 00 seconds time.mktime time.strptime timestr,y m d h m s 將時間元組轉換成時間戳 time.mktime timetuple 將時間戳轉會為時間元組 time.localt...

python 時間處理

deftimestamp to datetime timestamp 將 13 位整數的毫秒時間戳轉化成本地普通時間 datetime 格式 paramtimestamp 13 位整數的毫秒時間戳 1456402864242 return 返回 datetime 格式 2016 02 25 20 2...