excel多列时间转化为timestamp
我们在将excel导入到python中时候,你的excel中的时间可能会有许多种,例如下面这种将日期和小时分开了:
这里就这个问题提供一种思路:首先,将日期转化为Timestamp;然后,将时间转化为array,再转化为Timedelta;最后,可直接相加。
代码如下:
import pandas as pd
import numpy as np
import datetime
def exceltime_to_pytime(data):# 将excel中两列时间转化为1列 如日期和小时分开
date=pd.to_datetime(data['日期'],format='%Y年%m月%d日') # 将日期转化为Timestamp
hour=np.array(data['时间']) # 将时间转化为array
trans_time=[]
for i in range(len(date)):
a=date[i]+pd.Timedelta(hour[i],'h')+pd.Timedelta('30m')
trans_time.append(a)
return trans_time
最后,将结果覆盖原来的日期即可,
time=exceltime_to_pytime(other_var_cs)
other_var_cs['日期']=time
当然,可能会有更简单的方法,本文只用于记录自己学习的心路历程!!!