>>> df = readDF.assign(timest=lambda x: (x["day2"].astype(str)+x['hour2'].astype(str).str.rjust(2,"0")).astype('timedelta64[h]'))
>>> df
creative_id hour2 day2 impression click revenue timest
0 buyer:cid:adv3636360199680:0801680583565611042 7 20201015 4 0 $0.01 50327 days 02:02:38.436663
>>> df = readDF.assign(timest=lambda x: (x["day2"].astype(str)+x['hour2'].astype(str).str.rjust(2,"0")).astype('timedelta64[D]'))
>>> df
creative_id hour2 day2 impression click revenue timest
0 buyer:cid:adv3636360199680:0801680583565611042 7 20201015 4 0 $0.01 -73174 days +03:36:00.222609
>>> df = readDF.assign(timest=lambda x: x["day2"].astype('timedelta64[D]'))
>>> df
creative_id hour2 day2 impression click revenue timest
0 buyer:cid:adv3636360199680:0801680583565611042 7 20201015 4 0 $0.01 -81864 days +16:16:37.592596
1 buyer:cid:adv3636360199680:0801680582754454562 7 20201015 3 0 $0.01 -81864 days +16:16:37.592596
>>> df = readDF.assign(timest=lambda x: x["day2"].astype(str)+x['hour2'].astype(str).str.rjust(2,"0"))
>>> df.style.format({"timest": lambda t: t.strftime("%Y%m%d%H")})
>>> df
creative_id hour2 day2 impression click revenue timest
0 buyer:cid:adv3636360199680:0801680583565611042 7 20201015 4 0 $0.01 2020101507
1 buyer:cid:adv3636360199680:0801680582754454562 7 20201015 3 0 $0.01 2020101507
>>> df = readDF.assign(timest=lambda x: pd.to_datetime(x["day2"].astype(str)+x['hour2'].astype(str).str.rjust(2,"0"), format='%Y%m%d%H'))
>>> df
creative_id hour2 day2 impression click revenue timest
0 buyer:cid:adv3636360199680:0801680583565611042 7 20201015 4 0 $0.01 2020-10-15 07:00:00
1 buyer:cid:adv3636360199680:0801680582754454562 7 20201015 3 0 $0.01 2020-10-15 07:00:00