标签:表格 amp art 基本 cond imp 间隔 day 相互转换
本章以《利用python进行数据分析》的第10章:时间序列 为基础,整理了pandas 库中时间序列相关用法。
时间序列数据的意义取决于具体的应用场景,主要有以下几种:
pandas提供了一组标准的时间序列处理工具和算法,可以轻松的对时间序列进行切片、聚合,对定期/不定期的时间序列进行重采样等。
这些工具大部分对金融和经济数据尤为有用,同时也可以用来分析服务器和日志数据。
python标准库包含用于日期(date)和时间(time)的数据类型,主要用到datetime、time、calendar等模块。
datetime模块中的数据类型
import pandas as pd
from pandas import Series
from pandas import DataFrame
from datetime import datetime
now=datetime.now()
now.year,now.month,now.day
(2019, 3, 18)
delta = datetime(2019,3,18)-datetime(2019,1,1,8,15)
delta.days
delta.seconds
56700
可以给datetime对象加上(减去)一个或者多个timedelta,则产生一个新对象
from datetime import timedelta
start=datetime(2019,1,1)
start=start+timedelta(75)
start1=start-2*timedelta(75)
start
print (start)
print (start1)
2019-03-17 00:00:00
2018-10-18 00:00:00
datetime类型或者timestamp 类型 --> 字符串类型
stamp=datetime(2019,1,1)
str1=str(stamp)
str2=stamp.strftime('%Y-%m-%d %H:%M:%S')
print (str1)
print (str2)
2019-01-01 00:00:00
2019-01-01 00:00:00
字符串类型 --> datetime类型或者timestamp 类型
value='2019-01-01'
d1=datetime.strptime(value,'%Y-%m-%d')
print (d1)
2019-01-01 00:00:00
其中,是通过已知格式进行日期解析,但是编写格式定义比较麻烦
可以通过dateutil这个第三方包中parser.parse方法,可以对格式快速解析
from dateutil.parser import parse
parse('2011-01-01')
parse('6/12/2011',dayfirst=True)
datetime.datetime(2011, 12, 6, 0, 0)
pandas 通常是用于处理成组日期。
to_datetime方法可以解析多种不同的日期表示形式
datestrs=['7/6/2019','8/6/2019']
pd.to_datetime(datestrs)
DatetimeIndex(['2019-07-06', '2019-08-06'], dtype='datetime64[ns]', freq=None)
pandas 最基本的时间序列类型就是以时间戳(python字符串 或datetime对象)为索引的Series
当创建一个带有DatatimeIndex的Series时,pandas就会创建一个TimeSeries
import numpy as np
dates=[datetime(2019,1,1),datetime(2019,1,2),datetime(2019,1,3),datetime(2019,1,4)]
ts=Series(np.random.randn(4),index=dates)
ts
2019-01-01 -0.372832
2019-01-02 0.460571
2019-01-03 0.488445
2019-01-04 -0.208852
dtype: float64
TimeSeries是Series的一个子类,所以其索引切片都很类似
ts.index[2]
Timestamp('2019-01-03 00:00:00')
ts[ts.index[2]]
ts[datetime(2019,1,2)]
0.4605713788911559
可以传入字符串日期、datetime、timestamp
切片的是源数据的视图,与numpy的数组切片运算是一样的。
ts['2019-01-02':'2019-01-04']
2019-01-02 0.460571
2019-01-03 0.488445
2019-01-04 -0.208852
dtype: float64
《利用Python进行数据分析》之pandas的时间序列基础
标签:表格 amp art 基本 cond imp 间隔 day 相互转换
原文地址:https://www.cnblogs.com/laiyaling/p/10655753.html