首先把int类型转为string,然后使用datetime.strptime(string, '%Y%m%d')转换即可

代码示例

import pandas as pd


def string_to_date(string: str) -> str:
    """字符串转日期格式"""
    from datetime import datetime
    shift_datetime = datetime.strptime(string, '%Y%m%d')  # 字符串 -> 时间
    shift_date = shift_datetime.strftime("%Y-%m-%d")  # 时间 -> 任意时间格式
    return shift_date


def convert_date_from_int(time_series: pd.Series):
    """整形的series -> pandas时间格式"""
    time_series = time_series.astype('str').apply(string_to_date)
    return pd.to_datetime(time_series)


if __name__ == '__main__':
    series = pd.Series([20210101, 20210102, 20210103, 20210104, 20210105])
    time_series = convert_date_from_int(series)
    print(time_series)

更多:

%Y  4位数的年
%y  2位数的年
%m  2位数的月[01,12]
%d  2位数的日[01,31]
%H  时(24小时制)[00,23]
%l  时(12小时制)[01,12]
%M  2位数的分[00,59]
%S  秒[00,61]有闰秒的存在
%w  用整数表示的星期几[0(星期天),6]
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐