1. 时间戳长数字转成日期时间

2. 字符串转成日期时间

当我们需要将目标值转成日期时间类型时,那我们就使用 pandas.to_datetime() 方法,该方法详细文档见https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.to_datetime.html

pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=None, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=True)

其中比较重要的参数是 infer_datetime_format=False, errors='raise', format=None 这3个。设置infer_datetime_format=True就能智能识别输入格式并转换成日期时间类型,该方法能够覆盖日常绝大多数情况。如果infer_datetime_format不能帮助我们,那我们就需要根据原始值设置format参数。errors参数用于处理目标值无法解析成日期时间的情况,errors='raise'无法解析时就报错,errors='coerce'无法解析时赋值为空值NaT,errors='coerce'无法解析时赋值为原始值。

3. 日期时间转成字符串

当我们需要将日期时间类型转成字符串类型时,那我们就使用 Series.dt.strftime() 方法来实现。

4. 日期时间的推移

日期时间的推移主要使用 pandas.DateOffset(), pandas.Series.dt.to_period(), pandas.Series.shift() 这3个方法。其中to_period()方法类似于SQL中的date_trunc()函数,按时间单位(时间频率)进行转换,常用的时间单位主要是 周-W 和 月-M,而shift()方法只支持日期时间类型的索引,使用时需要先将Series转成DatetimeIndex再使用。

5. 转换时区

当我们需要做时区转换时,那我们就使用 Series.dt.tz_convert() 方法来实现,时区枚举值可以通过pytz.all_timezones_set查看。