对于处理datetime数据类型的一些常用方法:
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 决定。
参数
- format -- 格式字符串。
- 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)进行转换。
参数:
- date
○ 必需。
○ 要解析的字符串(例如:由 strftime() 返回的)。 - 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.dayofweek 、 grouped_data.svrCtime.iloc[0].dayofweek
其中返回值星期一=0 ~ 星期日=6
具体可查看Pandas.Series.dt.dayofweek相关命令
对于处理datetime数据类型的一些常用方法:的更多相关文章
- sql server2000中使用convert来取得datetime数据类型样式(全)
sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...
- DateTime数据类型保存问题(DateTime2)
DateTime And DateTime2 问题: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值 原因: EF中model存在datetime类型的字段, ...
- SQL Server datetime数据类型设计、优化误区
一.场景 在SQL Server 2005中,有一个表TestDatetime,其中Dates这个字段的数据类型是datetime,如果你看到表的记录如下图所示,你最先想到的是什么呢? (图1:数据列 ...
- System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值.解决办法是: 而这位大哥提出的解决办法 ...
- sql server报【从varchar数据类型到datetime数据类型的转换产生一个超出范围的值】错误的解决办法
产生这个错误的原因是在使用convert函数将给定的日期字符串转换为日期类型的时候,因为datetime这个数据类型有时间数值的范围限定,当超出时间范围时就抛出这个错误. 如果类型是[datetime ...
- 把excel的数据导入到SQLSERVER里面,excel的字符串时间在导入sql库显示datetime 数据类型的转换产生一个超出范围的值
这是我Excel导入的数据,准备把这个varchar(50)时间导入我的userInfo表中的出生日期字段datatime,如果你的数据正常,是可以导入的, 但是有些日期可能超出datatime的最大 ...
- sql server2000中使用convert来取得datetime数据类型样式(转)
日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVER ...
- Kotlin学习快速入门(1)——基本数据类型以及String常用方法使用
本文适合有Java基础的人 Kotlin语法特点 相比java,省略括号,可以自动判断类型,省略new关键字,空指针捕获 主函数 kotlin文件(kt文件)中,只有要下列的方法,就可以运行,无需像之 ...
- 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
具体的错误原因是:C#中的DateTime类型比SqlServer中的datetime范围大.SqlServer的datetime有效范围是1753年1月1日到9999年12月31日,如果超出这个范围 ...
随机推荐
- 【Android珍藏】推荐10个炫酷的开源库【转】
感谢大佬:https://www.jianshu.com/p/d608f0228fd4 前言 技术群里面经常有人问到一些炫酷的UI效果实现方法,有时候我都是给一个相同或者相似效果的Github链接,有 ...
- Nodejs path对象
很快Node就会迎来4.0的时代,届时将并入现有的iojs,所以先前写过的iojs入门系列直接更名为NodeJS入门. 本篇开始将逐个介绍Node的各主要模块,依循API文档走一遍,但会给出比API文 ...
- CSS布局居中
1.把margin设置为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效.
- C预备知识_001
程序由什么构成? 1.对数据的描述:在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,其实这就是数据结构(data structure). 2.对操作的描述:即要求计算机就行操作的步骤,也 ...
- 鸟哥的Linux学习笔记-bash
1. /bin/bash是linux预设的shell,也是Linux发行版的标准shell,它兼容sh,可以看作是sh的功能加强. 2. bash具有命令记录功能,在bash中通过上下键就可以翻找之前 ...
- JS字符串去替换元素再转换成数组
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11648074.html JS字符串替换不必要的元素, 然后去除多余的空格, 转换成数组: va ...
- 索引,事务,存储引擎和选择,视图,mysql管理
一.mysql索引:提高数据库的性能(不用加内存,不用改程序,不用调sql,查询速度就可能提高百倍千倍)索引会占用磁盘空间 CREATE INDEX 索引名 ON 数据表 (列名or字 ...
- 使用Three.js和React把冰墩墩部署在网页上!实现人手一墩!
前言 最近冰墩墩一墩难求,大家开始通过各种方式打造自己的冰墩墩,各种冰墩墩开始出现,粘土冰墩墩,橘子冰墩墩,3D打印冰墩墩.这次通过前端的方式展示一个3D冰墩墩,现在开始吧. 声明:本文涉及奥运元素3 ...
- Solution -「GLR-R2」教材运送
\(\mathcal{Description}\) Link. 给定一棵包含 \(n\) 个点,有点权和边权的树.设当前位置 \(s\)(初始时 \(s=1\)),每次在 \(n\) 个结点内 ...
- suse 12 二进制部署 Kubernetets 1.19.7 - 第12章 - 部署dashboard插件
文章目录 1.12.0.创建namespace 1.12.1.创建Dashboard rbac文件 1.12.2.创建dashboard文件 1.12.3.查看pod以及svc 1.12.4.获取 d ...