时间操作|学习笔记

简介: 快速学习时间操作

开发者学堂课程【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

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

相关文章
|
8天前
|
人工智能 程序员 API
GPT-5.2来了,老金详细给你说说它为什么是王
OpenAI悄然上线GPT-5.2,因谷歌Gemini 3发布引发“红色警报”。新模型提升显著:幻觉减少38%,上下文达40万token,支持长文档精准处理;ARC-AGI-2与GDPval评测显示其真实推理与工作能力大幅增强,尤其适合金融、法律等专业场景。推出Instant、Thinking、Pro三版本,满足不同需求。虽无惊艳发布,但聚焦打工人实际应用,标志着AI向通用生产力工具迈进。
|
分布式数据库 Hbase
HBase StochasticLoadBalancer组件介绍
HBase StochasticLoadBalancer组件介绍。
3139 0
|
6月前
|
API C++
甩开卡顿!HarmonyOS丢帧问题超详细拆解手册
这是一本针对HarmonyOS丢帧问题的超详细调优指南,从渲染流水线原理到实战优化全面解析。文章拆解了应用侧、Render Service和屏幕显示三大核心模块,结合60Hz/90Hz/120Hz帧率要求,深入分析卡顿原因。通过四步法(识别、录制、定位、优化),提供核弹级性能优化方案,涵盖列表卡顿、动画掉帧、布局臃肿等常见问题,并总结避坑圣经,助你轻松甩开卡顿,打造丝滑体验!
|
2月前
|
安全 Cloud Native 算法
全国首家!阿里云飞天企业版通过等保五级安全评估认证
今年年初,公安部发布《关于进一步做好网络安全等级保护有关工作的函》,旨在深入贯彻落实网络安全等级保护制度和关键信息基础设施安全保护制度,全面提升网络安全综合防控能力。其中重要工作之一,就是明确推动第五级信息系统定级备案。为切实保障政企客户信息基础设施安全,阿里云积极响应政策号召,通过权威机构对飞天企业版进行系统性安全评估。近日,飞天企业版以97.55%的高符合率通过第五级信息系统安全评估,成为全国首个且唯一通过该项级别安全评估的云平台。
255 4
|
1月前
|
传感器 供应链 监控
1688商家必看:如何高效转化精准流量?四大核心策略深度解析
本文针对1688平台B2B商家流量转化难题,提出四大核心策略:优化商品基础提升信任、科学关联销售提高客单价、构建专业客服体系促进成交、打造差异化价值突破同质竞争。通过系统化运营与数据驱动,助力商家实现从“有流量”到“能成交”的高效转化闭环。
|
3月前
|
数据采集 监控 API
亚马逊:对接竞品监控API实时跟踪价格变动,调整定价策略
在电商竞争中,亚马逊通过对接竞品监控API,实现价格实时采集与分析,动态调整定价策略。本文详解其技术实现、商业价值及挑战,展现数据驱动下的智能定价如何提升竞争力与利润。
452 0
|
5月前
|
负载均衡 算法 Java
微服务篇
本内容整理了Spring Cloud微服务架构中的核心组件、服务注册与发现机制、负载均衡策略、服务容错、限流算法、分布式事务及接口幂等性设计等关键技术点,并结合Nacos、Sentinel、Seata等中间件进行实际应用解析。
390 0
|
缓存 前端开发 JavaScript
前端性能调优
前端性能调优
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
Java中的switch语句详解
Java中的switch语句详解