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

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

这是我的数据,红色部分是时间戳。这一列我将其取名为’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’],就得到下面的日期格式了:
pandas中将时间戳转化为日期格式和将日期格式转化成时间戳
我又想把这个日期格式变回时间戳,就执行下面的操作:
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得到:
pandas中将时间戳转化为日期格式和将日期格式转化成时间戳
这里的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,就得到:
pandas中将时间戳转化为日期格式和将日期格式转化成时间戳

这样就完成了转换