時間序列類型 時間戳:特定時刻 固定時期:如2017年7月 時間間隔:起始時間-結束時間 Python標準庫處理時間對象:datetime 靈活處理時間對象:dateutil dateutil.parser.parse() 成組處理時間對象:pandas pd.to_datetime()
import datetime
import pandas as pd
import numpy as np
datetime.datetime.strptime('2010-01-01','%Y-%m-%d')
datetime.datetime.strptime('2010/01/01','%Y/%m/%d')
import dateutil
dateutil.parser.parse('03/08/2020 14:35')
dateutil.parser.parse('2020-Mar-8')
pd.to_datetime(['2001-01-01','2020/Mar/08'])
pandas-時間對象處理javascript
產生時間對象數組 | pd.date_range |
---|---|
start | 開始時間 |
end | 結束時間 |
periods | 時間長度 |
freq | 時間頻率,默認爲D,可選Hour,Week,Business,Sem,Month,(min)T(es),S(econd),A(year) |
pd.date_range('2019/7/23','2021/7/23')
pd.date_range('2019-7-23',periods=720)
pd.date_range('2019/7/23',periods=30,freq='M')
pd.date_range('2019-7-23',periods=30,freq='W-MON')
B business day frequency C custom business day frequency (experimental) D calendar day frequency W weekly frequency M month end frequency SM semi-month end frequency (15th and end of month) BM business month end frequency CBM custom business month end frequency MS month start frequency SMS semi-month start frequency (1st and 15th) BMS business month start frequency CBMS custom business month start frequency Q quarter end frequency BQ business quarter endfrequency QS quarter start frequency BQS business quarter start frequency A year end frequency BA business year end frequency AS year start frequency BAS business year start frequency BH business hour frequency H hourly frequency T, min minutely frequency S secondly frequency L, ms milliseconds U, us microseconds N nanoseconds
pd.date_range('2019-7-23',periods=60,freq='B') #B Business Day
dt = _
dt[0]
dt[0].to_pydatetime()
時間序列就是以時間對象爲索引的 Series 或 Dataframe。 datetime對象做爲索引時是存儲在 DatetimeIndex對象中的。 時間序列特殊功能 傳入「年」或「年月」做爲切片方式 傳入日期範圍做爲切片方式 豐富的函數支持:resample, truncate,
sr = pd.Series(np.arange(100),index=pd.date_range('2020-3-8',periods=100))
sr
sr.index
sr['2020-3']
sr['2020-3':'2020-4']
sr.resample('W').sum()
sr.resample('M').sum()
sr.resample('M').mean()
sr.truncate(before='2020-4-1')
數據文件經常使用格式:csv(以某間隔符分割數據) pandas讀取文件:從文件名、URL、文件對象中加載數據 read_csv 默認分隔符爲逗號 read_table 默認分隔符爲製表符
read_csv、read_table | 函數主要參數: |
---|---|
sep | 指定分隔符,可用正則表達式如'\s+' |
header=None | 指定文件無列名 |
name | 指定列名 |
index_col | 指定某列做爲索引 |
skip_row | 指定跳過某些行 |
na_values | 指定某些字符串表示缺失值 |
parse_dates | 指定某些列是否被解析爲日期,類型爲布爾值或列表 |
pd.read_csv('600519.csv')
pd.read_csv('600519.csv',index_col=0)
pd.read_csv('600519.csv',index_col='date')
df = pd.read_csv('600519.csv',index_col='date')
df.index[0]
df.index
pd.read_csv('600519.csv',index_col='date',parse_dates=True).index
pd.read_csv('600519.csv',index_col='date',parse_dates=['date']).index
pd.read_csv('600519.csv',header=None,names=list('abcdefgh'))
pd.read_csv('600519.csv',header=None,skiprows=[1,2,3])
pd.read_csv('600519.csv',header=None,skiprows=[1,2,3],na_values=['None'])