In [1]:import numpy as np
In [2]:import pandas as pd
In [3]:from datetime import datetime
In [4]: now = datetime.now()
In [5]: now
Out[5]: datetime.datetime(2020,8,10,15,41,41,676049)
In [7]: now.year, now.month, now.day
Out[7]:(2020,8,10)
In [16]: delta = datetime(2020,8,10)- datetime(2018,9,3,9,12)
In [17]: delta
Out[17]: datetime.timedelta(706,53280)
In [18]: delta.days
Out[18]:706
In [19]: delta.seconds
Out[19]:53280
In [20]: stamp = datetime(2020,8,10)
In [21]:str(stamp)
Out[21]:'2020-08-10 00:00:00'
In [23]: stamp.strftime('%Y-%m-%d')
Out[23]:'2020-08-10'# dateutil能够解析出大量人类可以理解的日期表
In [24]:from dateutil.parser import parse
In [25]: parse('2020-08-10')
Out[25]: datetime.datetime(2020,8,10,0,0)
In [27]: parse('Aug 10, 2020 15:58')
Out[27]: datetime.datetime(2020,8,10,15,58)
时间序列基础
In [28]: dates =[datetime(2020,1,2), datetime(2019,10,1), datetime(2019,10,31)]
In [29]: ts = pd.Series(np.random.randn(3), index=dates)
In [30]: ts
Out[30]:2020-01-02-0.2442862019-10-011.8178012019-10-311.014650
dtype: float64
# datetime对象可以被放入DatetimeIndex中
In [31]: ts.index
Out[31]: DatetimeIndex(['2020-01-02','2019-10-01','2019-10-31'], dtype='datetime64[ns]', freq=None)
In [32]: ts[::2]
Out[32]:2020-01-02-0.2442862019-10-311.014650
dtype: float64
In [33]: ts + ts[::2]
Out[33]:2019-10-01 NaN
2019-10-312.0293002020-01-02-0.488572
dtype: float64
In [34]: ts.index.dtype
Out[34]: dtype('<M8[ns]')
In [35]: stamp = ts.index[0]
In [36]: stamp
Out[36]: Timestamp('2020-01-02 00:00:00')
In [37]: longer_ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2017', pe
...: riods=1000))
In [38]: longer_ts
Out[38]:2017-01-01-1.2422822017-01-020.3005352017-01-031.4243022017-01-040.6817302017-01-05-0.4178082017-01-060.0361122017-01-07-0.6478972017-01-08-0.0529592017-01-091.2716712017-01-10-0.3832182017-01-11-0.8341152017-01-12-0.3931732017-01-13-0.2969342017-01-140.0433582017-01-151.1795992017-01-16-0.5354912017-01-17-0.8365482017-01-18-0.5797212017-01-19-0.2096542017-01-200.8651062017-01-211.4398392017-01-22-0.8083692017-01-230.0505772017-01-240.2320472017-01-25-0.5191732017-01-26-0.6420732017-01-27-0.9553282017-01-28-1.2299472017-01-29-0.8433312017-01-300.342699...2019-08-29-0.6308192019-08-300.2657802019-08-311.5679002019-09-011.6766182019-09-020.1559252019-09-03-0.1277062019-09-04-0.3473962019-09-05-0.6788682019-09-060.2652152019-09-07-0.9098022019-09-082.3966892019-09-091.3746212019-09-10-0.4362242019-09-110.1064852019-09-12-2.0295172019-09-13-1.1583402019-09-141.2875512019-09-15-0.5093972019-09-161.4346172019-09-170.9600322019-09-181.0987042019-09-19-0.9137082019-09-20-0.3999362019-09-21-0.1463472019-09-220.7223422019-09-230.8007532019-09-240.5326612019-09-25-0.3506662019-09-261.6258962019-09-272.039789
Freq: D, Length:1000, dtype: float64
In [39]: longer_ts['2019']
Out[39]:2019-01-01-0.8932112019-01-020.2624642019-01-03-0.8288472019-01-042.4602232019-01-05-1.9574832019-01-061.8789892019-01-07-0.3823882019-01-08-0.2728072019-01-09-1.6977092019-01-100.1442692019-01-110.3103132019-01-121.6904112019-01-130.6645132019-01-14-0.1208522019-01-151.7211812019-01-16-0.6046632019-01-171.5194652019-01-181.2758062019-01-19-0.4526522019-01-201.1398732019-01-21-1.1145902019-01-22-1.3660322019-01-23-1.1088572019-01-240.4541722019-01-25-0.7554872019-01-260.1268002019-01-272.2683922019-01-28-1.5499962019-01-290.5808662019-01-300.289625...2019-08-29-0.6308192019-08-300.2657802019-08-311.5679002019-09-011.6766182019-09-020.1559252019-09-03-0.1277062019-09-04-0.3473962019-09-05-0.6788682019-09-060.2652152019-09-07-0.9098022019-09-082.3966892019-09-091.3746212019-09-10-0.4362242019-09-110.1064852019-09-12-2.0295172019-09-13-1.1583402019-09-141.2875512019-09-15-0.5093972019-09-161.4346172019-09-170.9600322019-09-181.0987042019-09-19-0.9137082019-09-20-0.3999362019-09-21-0.1463472019-09-220.7223422019-09-230.8007532019-09-240.5326612019-09-25-0.3506662019-09-261.6258962019-09-272.039789
Freq: D, Length:270, dtype: float64
In [40]: longer_ts['2019-03']
Out[40]:2019-03-010.1829472019-03-02-0.6608762019-03-03-0.9314912019-03-040.0012112019-03-050.9831082019-03-06-1.0293132019-03-07-0.8655802019-03-080.8564262019-03-09-0.6392572019-03-10-1.1483232019-03-11-0.7515912019-03-121.5078842019-03-131.8470422019-03-14-1.1528992019-03-15-0.1790202019-03-160.3257392019-03-17-0.1805082019-03-18-1.5787142019-03-19-1.6853612019-03-201.9736412019-03-211.3146392019-03-220.7546852019-03-23-1.0859062019-03-24-0.3126892019-03-25-0.6997152019-03-26-0.6197912019-03-27-0.8403302019-03-28-0.9496602019-03-29-0.1862102019-03-300.7384162019-03-31-0.674320
Freq: D, dtype: float64