Python 数据分析第五期--简述时间序列数据分析

本文主要介绍了Python中处理时间序列数据的方法,包括Python内置的日期和时间操作,如datetime模块和字符串转datetime,以及Pandas库的时间序列处理,如创建、索引、过滤、重采样等。此外,还讲解了滑动窗口统计方法,用于在时间窗口上计算统计函数。
摘要由CSDN通过智能技术生成

Python 数据分析第五期–简述时间序列数据分析

1.Python 的日期和时间处理操作

1.1 时间序列分类

时间戳(timestamp),特定的时刻。

固定周期(period),某月或某年。

时间间隔(interval),由起始时间戳和结束时间戳表示。
在这里插入图片描述

1.2 datetime 模块

In [1]:

from datetime import datetime

In [2]:

now = datetime.now()
print(now)

out:

2020-02-15 22:10:48.492218

In [3]:

print('年: {}, 月: {}, 日: {}'.format(now.year, now.month, now.day))

out:

: 2020,: 2,: 15

In [4]:

diff = datetime(2017, 3, 4, 17) - datetime(2017, 2, 18, 15)
print(type(diff))
print(diff)
print('经历了{}天, {}秒。'.format(diff.days, diff.seconds))
<class 'datetime.timedelta'>
14 days, 2:00:00
经历了14天, 7200秒。

1.3 str -> datetime

In [7]:

# strptime
dt_str = '2017-02-18'
dt_obj2 = datetime.strptime(dt_str, '%Y-%m-%d')
print(type(dt_obj2))
print(dt_obj2)
<class 'datetime.datetime'>
2017-02-18 00:00:00

In [8]:

# dateutil.parser.parse
from dateutil.parser import parse
dt_str2 = '2017/02/18'
dt_obj3 = parse(dt_str2)
print(type(dt_obj3))
print(dt_obj3)
<class 'datetime.datetime'>
2017-02-18 00:00:00

In [9]:

# pd.to_datetime
import pandas as pd
s_obj = pd.Series(['2017/02/18', '2017/02/19', '2017-02-25', '2017-02-26'], name='course_time')
print(s_obj)
0    2017/02/18
1    2017/02/19
2    2017-02-25
3    2017-02-26
Name: course_time, dtype: object

In [10]:

s_obj2 = pd.to_datetime(s_obj)
print(s_obj2)
0   2017-02-18
1   2017-02-19
2   2017-02-25
3   2017-02-26
Name: course_time, dtype: datetime64[ns]

In [11]:

# 处理缺失值
s_obj3 = pd.Series(['2017/02/18', '2017/02/19', '2017-02-25', '2017-02-26'] + [None], 
                   name='course_time')
print(s_obj3)
0    2017/02/18
1    2017/02/19
2    2017-02-25
3    2017-02-26
4          None
Name: course_time, dtype: object

In [12]:

s_obj4 = pd.to_datetime(s_obj3)
print(s_obj4) # NAT-> Not a Time
0   2017-02-18
1   2017-02-19
2   2017-02-25
3   2017-02-26
4          NaT
Name: course_time, dtype: datetime64[ns]

2.Pandas 的日期和时间处理操作

2.1 Pandas的时间序列处理

创建

from datetime import datetime
import pandas as pd
import numpy as np

# 指定index为datetime的list
date_list = [datetime(2017, 2, 18), datetime(2017, 2, 19), 
             datetime(2017, 2, 25), datetime(2017, 2, 26), 
             datetime(2017, 3, 4), datetime(2017, 3, 5)]
time_s = pd.Series(np.random.randn(6), index
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值