datetime数据类型常用方法:

在项目中从数据库中取出数据后通常需要先绘制图像进行数据的观察,此过程中使用到的方法:

1.时间数据类似于 2022-03-23 14:21:45 可以先转换为datetime类型的数据:可以使用pd.to_datetime()方法将时间转换为datetime类型

例如:

time = pd.to_datetime(''2022-03-23 14:21:45'')

输出结果:Timestamp(''2022-03-23 14:21:45'')转换成功

2.time.year/month/day/hour/minute/second可以分别取出时间的年、月、日、小时、分钟、秒数

例如:

time.year 输出:2022

time.month 输出:3

time.day 输出:23

time.hour 输出:14

time.minute 输出:21

time.second 输出:45

3.time.strftime(format[, t]) 函数用于格式化时间,返回以可读字符串表示的当地时间,格式由参数 format 决定。

参数

  1. format -- 格式字符串。
  2. t -- 可选的参数t是一个struct_time对象。

说明:

python中时间日期格式化符号如下:

%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

例如:time1 = time.strftime("%Y-%m-%d %H:%M:%S")

输出:time1为'2022-03-23 14:21:45' 类型为str

可以通过改变括号内参数的样式来选取自己想要的结果:

例如:time1 = time.strftime("%Y-%m-%d")

输出:time1为'2022-03-23' 类型为str

例如:time1 = time.strftime("%H:%M")

输出:time1为'14:21' 类型为str

4.如果要将3.中转变为str类型的时间再转变回datetime那么可以使用datetime.strptime(date, format)进行转换。

参数:

  1. date

    ○ 必需。

    ○ 要解析的字符串(例如:由 strftime() 返回的)。
  2. format

    ○ 必须。

    ○ 规定日期中要使用的格式与strftime一样

例如time1 = '2022-03-23 14:21:45'

time2 = datetime.strptime(time1,"%Y-%m-%d %H:%M:%S")

输出:time2为2022-03-23 14:21:45 类型为datetime

5.可以在4.的基础上加入date()和time()方法取出其中的各个部分

假设:time1 = '2022-03-23 14:21'

可以在其中加入date()方法取出其中的年、月、日

例如:time2 = datetime.strptime(time1,"%Y-%m-%d %H:%M").date()

输出:time2为2022-03-23 类型为datetime

可以在其中加入time()方法取出其中的小时、分钟、秒

例如:time2 = datetime.strptime(time1,"%Y-%m-%d %H:%M:%S").time()

输出:time2为14:21:00 类型为datetime

注意:3、4、5方法不能对dataframe中的整列进行操作

6.如果想对dataFrame列表中的整列进行操作可以使用Pandas-Series中关于Datetime的属性

Series.dt.date     取出dataFrame列表中整列datetime数据的年月日
Series.dt.time 取出dataFrame列表中整列datetime数据的时分秒
Series.dt.year 取出dataFrame列表中整列datetime数据的年
Series.dt.month 取出dataFrame列表中整列datetime数据的月
Series.dt.day 取出dataFrame列表中整列datetime数据的日
Series.dt.hour 取出dataFrame列表中整列datetime数据的时
Series.dt.minute 取出dataFrame列表中整列datetime数据的分
Series.dt.second 取出dataFrame列表中整列datetime数据的秒

其他Series.dt. 方法见网址:Pandas-Series中关于Datetime的属性。

7.如果当datetime类型数据做完一些算数运算后想与另一个数值进行比较例如15分钟等:可以使用timedelta()函数进行比较

例如:(time4-time3) > timedelta(minutes=15) 其中time4与time3为datetime类型数据

8.获取某日期是星期几使用Pandas.Series.dt.dayofweek方法来实现

例如:

time.dayofweekgrouped_data.svrCtime.iloc[0].dayofweek

其中返回值星期一=0 ~ 星期日=6

具体可查看Pandas.Series.dt.dayofweek相关命令

对于处理datetime数据类型的一些常用方法:的更多相关文章

  1. sql server2000中使用convert来取得datetime数据类型样式(全)

    sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...

  2. DateTime数据类型保存问题(DateTime2)

    DateTime And DateTime2 问题: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值 原因: EF中model存在datetime类型的字段, ...

  3. SQL Server datetime数据类型设计、优化误区

    一.场景 在SQL Server 2005中,有一个表TestDatetime,其中Dates这个字段的数据类型是datetime,如果你看到表的记录如下图所示,你最先想到的是什么呢? (图1:数据列 ...

  4. System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值

    System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值.解决办法是: 而这位大哥提出的解决办法 ...

  5. sql server报【从varchar数据类型到datetime数据类型的转换产生一个超出范围的值】错误的解决办法

    产生这个错误的原因是在使用convert函数将给定的日期字符串转换为日期类型的时候,因为datetime这个数据类型有时间数值的范围限定,当超出时间范围时就抛出这个错误. 如果类型是[datetime ...

  6. 把excel的数据导入到SQLSERVER里面,excel的字符串时间在导入sql库显示datetime 数据类型的转换产生一个超出范围的值

    这是我Excel导入的数据,准备把这个varchar(50)时间导入我的userInfo表中的出生日期字段datatime,如果你的数据正常,是可以导入的, 但是有些日期可能超出datatime的最大 ...

  7. sql server2000中使用convert来取得datetime数据类型样式(转)

    日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVER ...

  8. Kotlin学习快速入门(1)——基本数据类型以及String常用方法使用

    本文适合有Java基础的人 Kotlin语法特点 相比java,省略括号,可以自动判断类型,省略new关键字,空指针捕获 主函数 kotlin文件(kt文件)中,只有要下列的方法,就可以运行,无需像之 ...

  9. 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值

    具体的错误原因是:C#中的DateTime类型比SqlServer中的datetime范围大.SqlServer的datetime有效范围是1753年1月1日到9999年12月31日,如果超出这个范围 ...

随机推荐

  1. STP的究极进化MSTP

    MSTP多生成树协议 1.MSTP概述 2.MSTP相关配置命令 1.MSTP是一个公有生成树协议,在实际生产环境中得到了广泛的应用. PVST是思科私有的,它能让多实例,多VLAN可以进行负载均衡, ...

  2. PL/SQL批量执行SQL脚本文件

    1.选择File > New > Command Windows(命令窗口) 2.输入 @ 符号,之后敲击回车键.从本地选择执行的 SQL脚本 等待批量命令全部执行成功,关闭页面即可 新增 ...

  3. CoaXPress 接口相机的控制方法--1

    GenICam 介绍 简而言之,GenICam 定义了一个通用的相机接口,使得应用程序的编写.相机的控制可以与具体的型号解耦,这样就可以设计出通用的软件完成对不同相机的控制.我们实际使用的CoaXPr ...

  4. Solution -「CodeChef JUMP」Jump Mission

    \(\mathcal{Description}\)   Link.   有 \(n\) 个编号 \(1\sim n\) 的格子排成一排,并有三个权值序列 \(\{a_n\},\{h_n\},\{p_n ...

  5. Java IO模型:BIO、NIO、AIO

    Java IO模型:BIO.NIO.AIO 本来是打算直接学习网络框架Netty的,但是先补充了一下自己对Java 几种IO模型的学习和理解.分别是 BIO.NIO.AIO三种IO模型. IO模型的基 ...

  6. 树莓派GPIO开发(一):激光头传感器模块的使用

    配置环境 系统:Raspbian11(64位) 设备:树莓派CM4 一.写在前面 主要为了测试我捡漏买的CM4的拓展版 拓展板子没有焊接引脚,但是预留的接口 手动焊接一下 测试成功 ,说明我捡的这块板 ...

  7. curl常用参数详解及示例

    curl简介 curl是一个开源的命令行工具,它基于网络协议,对指定URL进行网络传输,得到数据后不任何具体处理(如:html的渲染等),直接显示在"标准输出"(stdout)上. ...

  8. OpenGL/ES关于像素渲染

    知道着色器的人都会知道一个东西,那就是着色器分为顶点着色器与片元着色器.在移动端真正渲染到手机屏幕上的无非是一些颜色值,但是一个片元是大于一个像素的,一个片元可能包含多个像素,当然一个片元所包含的像素 ...

  9. Harbor2.2.4在CentOS7.9安装、部署

    CentOS7.9基础环境配置 https://www.cnblogs.com/uncleyong/p/15471002.html 直接从网盘获取配置好的环境 修改:vim /etc/hosts 12 ...

  10. 中国著名hacker---陈三堰

    在学习<网络攻防>这门课程中,我了解到了黑客之间的斗智斗勇,同样也对中国本土黑客产生了兴趣,之后,我将用一段时间扒一扒这其中比较有分量的传奇人物--陈三堰. 真名:陈三堰 网名:陈三少 所 ...