在使用pandas的时候,经常需要处理日期格式,这里总结了一下平时经常用到的场景
(1)将字符串转成日期
df["date"]=pd.to_datetime(df["date"], format='%Y%m%d', errors='ignore')
比如:
pd.to_datetime(20190129, format='%Y%m%d', errors='ignore')
运行结果:Timestamp('2019-01-29 00:00:00')
(2)获取当前时间的年月日,并转成日期格式
import datetime as dt
NOW=dt.datetime(dt.datetime.now().year,dt.datetime.now().month,dt.datetime.now().day)
比如:
(3)获取日期到当前日期所隔的时间,并转成以天为单位的数据
这里的NOW同(2)
import numpy as np
df['date'] = df['date'].apply(lambda x: (NOW-x))
df['date'] = df['date'].map(lambda x: x/np.timedelta64(1,'D'))
以此类推,如果是想转成以小时为单位的数据可以这样:
import numpy as np
df['date'] = df['date'].apply(lambda x: (NOW-x))
df['date'] = df['date'].map(lambda x: x/np.timedelta64(1,'h'))
(4)将时间戳转成日期格式
df['time'] = df['time'].apply(lambda x: datetime.datetime.fromtimestamp(x).strftime("%Y%m%d %H:%M:%S"))
df["time"]=pd.to_datetime(df["time"], format='%Y%m%d %H:%M:%S', errors='ignore')