首先把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]