0
点赞
收藏
分享

微信扫一扫

Python数据分析,办公自动化,时间序列

时间序列数据是一种重要的结构化数据形式,在多个时间点观察或测量到的任何事物都可以形成一段时间序列。时间序列可以是固定频率的,也可以是不定期的。

时间序列数据的意义取决于具体的应用场景,Python标准库包含用于日期(date)和时间(time)数据的数据类型,而且还有日历方面的功能。在日常数据分析中,主要会用到time、datetime函数。



本文使用工具:Python 3.7.0

本文使用的函数:time、datetime

适用范围:基本的时间序列类型数据分析,爬虫时间模拟








time函数

在time 模块中,time.time()和time.sleep()这两个函数使用最为频繁,应用性也最广。time.time()函数返回自那一刻以来的秒数,是一个浮点值。

import time
time.time()

打印结果如下:


1618052792.2365315


使用time.sleep()函数,每个一段时间,运行命令。

import time
for i in ('*','**','***','****','*****'):
print(i)
time.sleep(1)
time.sleep(3)

这段命令的意思是,for 循环打印 “*” 号,每打印一下,暂停一秒钟,如此继续,直到打印完毕,使用time.sleep(3)命令,3秒后到下一个提示符,这个命令在爬虫时,模拟人登录浏览网页的时候会用到。


datetime函数

datetime返回当前日期和时间

datetime是时间序列中用得最多的数据类型,datetime模块中常用的数据类型如下所示:

  • date  以公历存储日历日期(年、月、日)
  • time  将时间存储为时、分、秒、毫秒
  • datetime  存储日期和时间
  • timedelta  表示两个datetime值之间的差(日、秒、毫秒)

使用如下的命令返回当前时间。

#导入datetime库
from datetime import datetime
#返回当前时间
datetime.now()

打印结果如下:


datetime.datetime(2021, 4, 10, 18, 51, 40, 925672)


打印当前的年月日。

#打印年月日
print(datetime.now().year)
print(datetime.now().month)
print(datetime.now().day)

打印结果如下:



2021

4

10



#打印时分秒
print(datetime.now().hour)
print(datetime.now().minute)
print(datetime.now().second)

打印结果如下:



18

47

42



返回当前年月日还有另一种打印的方法。

#只返回年月日
now.year, now.month, now.day

打印结果如下:


(2021, 4, 10)


返回当前的日期。

datetime.now().date()

打印结果如下:


datetime.date(2021, 4, 10)


返回当前的时间。

datetime.now().time()

打印结果如下:


datetime.time(17, 51, 12, 433245)


datetime转化为字符串

在数据分析时,对于datetime的类型会进行格式转化,常用的是将其转化为字符串类型。

#datetime转化为字符串
from datetime import datetime
today=datetime(2021,4,10)
str(today)

打印结果如下:


'2021-04-10 00:00:00'


在转化为字符串类型时,也会使用到strftime函数,datetime格式定义代码说明如下:

  • %Y 表示4位数的年(常用)
  • %y 表示2位数的年
  • %m 表示2位数的月
  • %d 表示2位数的日

将当前日期转化为字符串,这里使用"%Y-%m-%d"格式。

today.strftime("%Y-%m-%d")

打印结果如下:


'2021-04-10'


有时候,需要返回的日期类型形如20210410,需要将其转化为字符串类型,由于默认的年月日之间有 "-" 用于分隔,这里使用replace进行替换。

#转为字符串并去除'-'
import datetime
today=str(datetime.date.today())
today=today.replace('-','')
print('今天的日期是:',today)

打印结果如下:


今天的日期是: 20210410


同样的使用"%Y-%m-%d"进行格式转化。

#strftime()定义的时间格式
from datetime import datetime
today=datetime.now().strftime("%Y-%m-%d")
today

打印结果如下:


'2021-04-10'


对于不同日期用不同的分隔符分隔时,这里可以使用parser函数将其统一转化为标准格式。

# 多种不同的日期类型解析
from dateutil.parser import parse
print(parse('2021/04/10'))
print(parse('2021-04-10'))
print(parse('2021/04-10'))
print(parse('20210410'))

打印结果如下:



2021-04-10 00:00:00

2021-04-10 00:00:00

2021-04-10 00:00:00

2021-04-10 00:00:00



Python数据分析,办公自动化,时间序列_数据_03

举报

相关推荐

0 条评论