上午一個(gè)小問(wèn)題卡了半天,記錄一下。
目標(biāo):我用pymysql從數(shù)據(jù)庫(kù)中獲取了多條數(shù)據(jù)产场,存儲(chǔ)為dataframe鹅髓。其中有一列數(shù)據(jù)表征時(shí)間,有一列數(shù)據(jù)表征日期京景,我需要把這兩列攢在一起窿冯,組成新的一列,格式為timestamp确徙。
背景情況:表征時(shí)間那一列格式為timedelta醒串,表征日期那一列格式為object。
過(guò)程:
- 第一步:df['timestamp']=df['date']+' '+df['time']
結(jié)果出問(wèn)題鄙皇,這兩個(gè)格式不能直接相加芜赌。 - 第二步:df['date'].astype('str'),df['time'].astype('str')
再次嘗試相加,出現(xiàn)問(wèn)題伴逸,df['time']變成了帶0 days hh:mm:ss缠沈,相加得到的字符串也不對(duì),必須把0 days去掉违柏。好吧,問(wèn)題來(lái)了香椎,如何把0 days去掉漱竖,我研究了半天astype,format,strftime...發(fā)現(xiàn)都不好使,最后畜伐? - 第三步:df['time']=df['time'].apply(lambda x:x[7:15])
重點(diǎn)就是容忍timedelta變成str后帶上了days馍惹,多加一步把str里面需要的時(shí)分秒提取出來(lái),簡(jiǎn)單對(duì)不對(duì)玛界,好吧万矾,我在astype上糾結(jié)太多,摔慎框! - 第四步:df['timestamp']=df['date']+' '+df['time']
- 第五步:df['timestamp']=pd.to_datetime(df['timestamp'])