Python Pandas数据中对时间的操作

yipeiwu_com5年前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设计】。

相关文章

启动targetcli时遇到错误解决办法

 启动targetcli时遭遇ImportError: cannot import name ALUATargetPortGroup故障 targetcli是一个iSCSI配置...

Python如何使用argparse模块处理命令行参数

这篇文章主要介绍了Python如何使用argparse模块处理命令行参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 arg...

python 简单搭建阻塞式单进程,多进程,多线程服务的实例

我们可以通过这样子的方式去理解apache的工作原理 1 单进程TCP服务(堵塞式) 这是最原始的服务,也就是说只能处理个客户端的连接,等当前客户端关闭后,才能处理下个客户端,是属于阻塞...

django 删除数据库表后重新同步的方法

django 删除数据库表后重新同步的方法

由于项目需要,最近在用基于Python语言的一个后端框架Django开发web应用。不得不说,Django继承了Python的简洁性,用它来开发web应用简单清爽,不同于从前的SSH框架...

Python浅复制中对象生存周期实例分析

本文实例讲述了Python浅复制中对象生存周期。分享给大家供大家参考,具体如下: Python的浅复制以及深复制我了解的并不多,我不清楚shutil中的copy1和copy2是不是算是浅...