pandas—時間序列

#時間序列
import pandas as pd 
import numpy as np 

#1.生成一段時間範圍
'''
date_range函數主要用於生成一個固定頻率的時間索引,在調用構造方法時,必須指定start,end,periods中的兩個參數值,否則報錯'''

#時間序列頻率:
'''D:日曆中的每天 
B:工作日的每天
H:每小時 
T或min:每分鐘 
S :每秒 
L或ms:每毫秒 
U: 每微妙
M: 日曆中的月底日期
BM : 工作日的月底日期
MS: 日曆中的月初日期 
BMS: 工作日的月初日期
'''

date = pd.date_range(start='20190501',end = '20190530')
#print(date)

#frep :日期偏移量,取值爲string,默認爲“D”
#periods:固定時期,取值爲整數或者None

#date1 = pd.date_range(start='20190501',end = '20190530',freq = '10D')
date1 = pd.date_range(start='20190501',end = '20190530',freq='10D')
#print(date1)

 

'''根據closed參數選擇是否包含開始和結束時間closed = None,left包含開始時間,不包含結束時間,right與之相反'''
#date_time = pd.date_range(start = '20191001',end = '20191031',closed = 'left')
date_time = pd.date_range(start = '20191001',end = '20191031',closed = 'right')
#print(date_time)

#2時間序列在dataframe中的作用

#可將時間序列作爲索引
index = pd.date_range(start = '20191001',periods = 10)
df = pd.Series(np.random.randint(0,10,size = 10),index = index)
#print(df)

#truncate這個函數將before指定日期之前的值全部過濾出去,after指定日期之後的值全部過濾出去。
before = df.truncate(before='2019-10-08')
#print(before)

after = df.truncate(after = '2019-10-04')
#print(after)

long_ts = pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2019',periods=1000))
#print(long_ts)
# 根據年份獲取
#result = long_ts['2020']
#print(result)

#年份和日期獲取

#result = long_ts['2020-05']
#print(result)

#使用切片
result = long_ts['2020-05-01':'2020-05-07']
#print(result)

#通過between_time()返回位於指定時間段的數據集
index = pd.date_range('2019-03-17','2019-03-30',freq='2H')
ts = pd.Series(np.random.randn(157),index = index)
#print(ts.between_time('7:00','15:00'))


#6位移日期
ts = pd.Series(np.random.randint(10),index = pd.date_range('20191001',periods = 10))
print(ts)
#移動數據,索引不變,,默認有NaN填充
#periods:移動的位數 負數是向上移動
#fill_value:移動後填充數據
#freq:日期偏移量、
#ts.shift(periods = 2 ,fill_value = 100,freq = 'D')

#ts.tshift(2)

#將時間戳轉化成時間根式
#pd.to_datetime(1554970740000,unit = 'ms')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章