dataframe字符串转化为时间

最近处理数据的时候,需要把源表里面yyyyMMdd格式的日期转化为日期格式
例如有有数据data,结构为

dt value
20181001 10
20181002 8

数据转化

1
2
3
4
5
6
7
from datetime import datetime
date = []
date_time = []
for dt in data['dt'].unique():
date.append(dt)
date_1 = datetime(int(dt[0:4]),int(dt[4:6]),int(dt[6:8]))
date_time.append(date_1)

将数组转化为DataFrame

1
2
3
4
a = pd.DataFrame(date,columns=['date'])
b = DataFrame(date_time,columns=['date_time'])
date_con = pd.concat([a,b],axis=1)

将变换后的日期关联到源表上

1
data.merge(date_con,left_on='dt',right_on='date')