这是我的数据,红色部分是时间戳。这一列我将其取名为’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,就得到:
这样就完成了转换