pandas中将时间戳转化为日期格式和将日期格式转化成时间戳

1 篇文章 0 订阅
1 篇文章 0 订阅

在这里插入图片描述

这是我的数据,红色部分是时间戳。这一列我将其取名为’time_stamp’.

要想将时间戳转换为日期格式需要用到**pd.to_datetime()**这个函数,示例:

df['time_stamp']=pd.to_datetime(df['time_stamp'],unit='s',origin=pd.Timestamp('2018-07-01'))

这个的意思是将time_stamp这列的时间戳转换为日期格式,单位是秒(unit=‘s’),计算的日期是从2018年的7月1号开始,即从2018年的7月1号开始加上时间戳的那么多秒。

输出df[‘time_stamp’],就得到下面的日期格式了:
在这里插入图片描述
我又想把这个日期格式变回时间戳,就执行下面的操作:
1.我们先计算出两个日期之间的差,即:

sjcha=df.loc[2]['time_stamp'] - pd.datetime(2018,7,1)

我这是以第3行的time_stamp列来做的例子,也就是2018-07-09 21:15:10

用它来减去我们设置的第一天,即2018-07-01,赋值给变量sjcha,输出sjcha得到:
在这里插入图片描述
这里的sjcha是个Timedelta格式的变量,这种格式的变量的属性和方法参考:
http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timedelta.html

这里我们用days和seconds属性,获得其天数和秒数

sjchuo=sjcha.days*86400 + sjcha.seconds

这里的86400的意思是一天有86400秒,加号前面意思是有8天有这么多秒,加号后面的意思是将21:15:10有多少秒加进来

输出sjchuo,就得到:
在这里插入图片描述

这样就完成了转换

  • 7
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值