背景
原:df[‘pay_time’]原来为int型数据,如1580486424(int型的时间戳)
目标1:想获得该列对应的日期时间:如2020-02-01 00:00:24(且为datetime类型)
目标2:只想获得该列对应的日期:如2020-02-01
解决
解决目标1
1.pd.to_datetime()直接将一列转换为日期时间
但是,注意这里是utc时间
utc+8小时=本地时间
2.加上8小时,通过pd.Timedelta(days=8/24)实现
df['date_time']= pd.to_datetime(df['pay_time'], unit='s')#utc时间,非本地时间
df['date_time']= df['date_time'] + pd.Timedelta(days=8/24)#+8小时
display(df.head())
id | pay_time | date_time |
---|---|---|
0 | 1580486424 | 2020-02-01 00:00:24 |
1 | 1580486426 | 2020-01-31 16:00:26 |
… | … | … |
解决目标2
接着上面继续:
df['date']= df['date_time'].dt.date
注意得到的是object类型。