sql获取数据格式转化问题

上午一个小问题卡了半天,记录一下。
目标:我用pymysql从数据库中获取了多条数据,存储为dataframe。其中有一列数据表征时间,有一列数据表征日期,我需要把这两列攒在一起,组成新的一列,格式为timestamp。
背景情况:表征时间那一列格式为timedelta,表征日期那一列格式为object。
过程:

  • 第一步:df['timestamp']=df['date']+' '+df['time']
    结果出问题,这两个格式不能直接相加。
  • 第二步:df['date'].astype('str'),df['time'].astype('str')
    再次尝试相加,出现问题,df['time']变成了带0 days hh:mm:ss,相加得到的字符串也不对,必须把0 days去掉。好吧,问题来了,如何把0 days去掉,我研究了半天astype,format,strftime...发现都不好使,最后?
  • 第三步:df['time']=df['time'].apply(lambda x:x[7:15])
    重点就是容忍timedelta变成str后带上了days,多加一步把str里面需要的时分秒提取出来,简单对不对,好吧,我在astype上纠结太多,摔!
  • 第四步:df['timestamp']=df['date']+' '+df['time']
  • 第五步:df['timestamp']=pd.to_datetime(df['timestamp'])

你可能感兴趣的:(sql获取数据格式转化问题)