Python Pandas数据中对时间的操作

yipeiwu_com7年前Python基础

Pandas中对 时间 这个属性的处理有非常非常多的操作。

而本文对其中一个大家可能比较陌生的方法进行讲解。其他的我会陆续上传。

应用情景是这样的:考虑到有一个数据集,数据集中有用户注册账号的时间(年-月-日),如下图格式。


如果我们希望对用户账号注册时间转为具体的天数,我们可以用如下代码。

import pandas as pd
td=data['user_reg_tm']
Time=pd.to_datetime(td)
Start=pd.datetime(2016,4,16)
day=Start-Time

最后,把天数插入到原来的表中

data['Day']=day


下面简单的说一下一个时间的创建一些细节。

date=pd.Series(['2016411'])
pd.to_datetime(date)

这样就创建一个时间为 2016-4-11的时间值。

这里有个细节,就是字符串里的时间格式,年月日之间如果没有分隔,pandas会自动用-号分开,如果要自己手动分隔,例如

date=pd.Series(['2016-4-11'])

这也可以,或者用/号。但是注意,只能用- 或者/来进行分隔,不可使用别的。

有时候我们还需要有时分秒的信息。

date=pd.Series(['2016-4-11 12:12:12'])

最后再说下一个问题,上面我获得的天数后我们怎么单独取出“天数”来呢?

很简单,用.days来访问。

对于 Series类型,用 data.dt.days

对于 Timedelta类型,可以直接访问  即 data.days。

例如:

因为data['Day']是Series类型的

data['Day'].dt.days

因为day是Timedelta类型的

day.days

更新:时间处理下篇链接点击打开链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python如何应用cx_Oracle获取oracle中的clob字段问题

最近在用Python编写连接数据库获取记录的脚本,其中用到了cx_Oracle模块。它的语法主要如下: cx_Oracle.connect('username','pwd','IP/...

Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子

Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子

根据我们指定的条件检索函数中的元素 import matplotlib.pyplot as plt import numpy as np a = np.linspace(0, 2...

python3.6、opencv安装环境搭建过程(图文教程)

python3.6、opencv安装环境搭建过程(图文教程)

我需要使用tesseract-OCR的模块,vs的配置有点麻烦,所以采用py的环境,搭建。 1.在python.org网站下载python3.6版本 我下载的3.6.8的python的...

Python中的time模块与datetime模块用法总结

time模块 time模块是包含各方面对时间操作的函数. 尽管这些常常有效但不是所有方法在任意平台中有效. time用struct_time表示时间 import time # t...

Python中断言Assertion的一些改进方案

Python Assert 为何不尽如人意? Python中的断言用起来非常简单,你可以在assert后面跟上任意判断条件,如果断言失败则会抛出异常。 >>>...