时间操作|学习笔记

简介: 快速学习时间操作

开发者学堂课程【Python 常用数据科学库:时间操作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/546/detail/7487


时间操作

内容介绍

一、在 python 当中操作时间

二、在 pandas 中操作时间


一、在 Python 中操作时间

1、第一步先引进 datetime 包,在包下指定一些时间的变量。比如可以直接指定年月日时分,直接打 dt 格式不标准,只要 print 一下就是标准形式,年月份是-连接,时分是:连接。

import datetime

dt = datetime.datetime(year=2017,month=11, day=24, hour=10, minute=30)

dt


二 、在 pandas 中操作时间

1、Pandas 导进来,首先构造最基本的时间结构,pandas 里有一个 Time stamp,就是这样一个时间戳,先把它调出来,指定时间2017年 11月24号,打印一下

import pandas as pd

ts =pd.Timestamp('2017-11-24’)

ts

这样它就出现了当前的一个时间,2017年11月24号的一个时间。

2、对于 pandas 时间构造出的变量来说,它都有哪些属性可以去利用。可以调时间ts.day、ts.month, 除此之外,还可以进行加减法的操作,比如说用当前这个时间,可以指定一个时间 5days  

ts+pd.Timedelta('5 days')

执行一下,原来是11月24号,现在是11月29号,也就是说在 pandas 当中,时间是可以进行一系列计算的。

3、其他形式构造时间, to_datetime 是比较常用的,里面写上当前的时间执行一下

pd.to_datetime('2017-11-24')

执行一下,它和上面的结果是完全一样的。所以说在构造时间的时候,有很多种方式把时间构造出来,可以换种写法24/11/2017,这样也能出来。                

4、时间戳的用处。用时间戳去做数据,比如说指定一个时间戳,一般都是写成 Series 结构。里面传进来当前的一系列时间

s= pd.Series(['2017-11-24 00:00:00','2017-11-25 00:00:00','2017-11-26 00:00:00' ]

S

做出来的结构之后,直接打印出来是这样的

image.png

它是一个 object 类型。但是 In[12] 中的时间还是字符串,字符串利用起来是不太方便的,在 pandas 当中最好把它转换成一个 datatime 格式

ts=pd.to_datetime(s)

ts

原来是 object,现在它就是一个 date time 类型了,对于 date time 类型,可以调它的很多属性,比如说可以调 hour 小时:

ts.dt.hour

5、在构造 Series 结构的时候,可以直接指定 datatime 类型。要构造一个时间序列,需要知道起始日期,比如说从11月24号开始,然后构造10个数据,间隔是12小时

pd.Series(pd.date_range(start='2017-11-24',periods = 10,freq = '12H')

然后看一下结果

image.png

这样就把 datetime 格式构造出来了,可以按照自己的方式直接在 pandas 的 series结构当中,把时间序列构造出来。

6、时间序列做出来之后,可以用这个序列做一些事情,尤其是做可视化展示,做画图,这些操作是比较常用的。接下来对真实数据执行这样的操作。首先读进来这样的数据

data = pd.read_csv(’./data/flowdata.csv')

data.head

image.png

这里还是字符串,需要对它进行转换,转换成标准时间格式。data 中指定 time 列,指定 to_ datetime,指定完之后,把 data 当中 time 再进行指定,指定完之后相当于做了一个变换,做完变换之后,让数据去设置一个索引 data,用 Time 这个列来当新的索引

data['Time'] = pd. to_datetime(data[' Time'])

data = data.set_index('Time')

data

执行一下

image.png

转换之后,得到一个时间序列的数据,并且这个数据按照时间来    当成了索引。就是说一般情况下,当有一个时间序列数据之后,通常都是按照这种方式来执行这样的操作。

7、data 的 index 值

image.png

刚才做看起来有些麻烦,还有这样的操作,可以直接指定 index 值是哪一个,然后加上 parse,是不是要解析一下 data 数据,然后给它指定 True 值。

data =pd.read_csv('./data/flowdata.csv', index_col = 0,parse_dates = True)

data. head

执行得到结果

image.png

这次和上面执行的结果是完全一样,也就是说这一步操作你可以把数据读进来之后自己执行这样的操作,也可以在编读数据的时候,如果是一个时间序列数据,可以直接把它拿到手。

相关文章
|
17天前
|
数据采集 Java 数据挖掘
数据抓取与时间操作:结合 datetime 与 timedelta 进行定时任务管理
本文详细介绍了如何利用 Python 的 `datetime` 和 `timedelta` 库管理数据抓取的定时任务,特别是在纳斯达克股市开盘时间内定期抓取数据。通过代理 IP、多线程等技术,提高了抓取效率和稳定性,确保数据的实时性和准确性。
|
1月前
时间处理
时间处理
20 2
|
2月前
|
Unix 数据挖掘
一文读懂Polars中的时间处理:从字符串到时间戳的转换秘籍!
一文读懂Polars中的时间处理:从字符串到时间戳的转换秘籍!
99 0
|
5月前
一文搞懂:两个日期的时间间隔
一文搞懂:两个日期的时间间隔
53 0
|
6月前
【qt】一次性讲清楚日期和时间1
【qt】一次性讲清楚日期和时间
87 0
|
6月前
【qt】一次性讲清楚日期和时间2
【qt】一次性讲清楚日期和时间
38 0
|
6月前
|
Go Unix 开发者
Go语言time库,时间和日期相关的操作方法
Go语言time库,时间和日期相关的操作方法
97 0
Go语言time库,时间和日期相关的操作方法
|
6月前
|
前端开发 安全 Unix
Python编程手册系列 - 日历、日期、时间相关内建模块详解
Python编程手册系列 - 日历、日期、时间相关内建模块详解
99 0
|
安全 Java API
jdk8获取当前时间|时间加减|java8时间格式化|时间处理工具|时间比较|线程安全的时间处理方法
jdk8获取当前时间|时间加减|java8时间格式化|时间处理工具|时间比较|线程安全的时间处理方法
|
存储 C语言
如何在C语言中进行日期和时间处理
日期和时间处理在许多软件和应用程序中都是非常重要的功能。无论是计算两个日期之间的天数,还是计算某个日期是星期几,C语言提供了丰富的库函数和功能来满足这些需求。本文将介绍如何在C语言中进行日期和时间处理
224 0