You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用pandas合并自定义函数输出的日期与时间的实现方法

Pandas 合并日期时间输出解决方案

首先导入所需依赖:

import pandas as pd
import datetime

沿用你已有的两个自定义转换函数:

def jdtodatestd (jdate):
  if len(jdate) == 5:    
    fmt = '%y%j'
    datestd = datetime.datetime.strptime(jdate, fmt).date()
    return(datestd)
  elif len(jdate) == 6:
    yr = jdate[0:2]
    day = jdate[2:len(jdate)]
    day = day.lstrip('0')
    jdate = yr+day
    fmt = '%y%j'
    datestd = datetime.datetime.strptime(jdate, fmt).date()
    return(datestd)
  elif len(jdate) == 7:
    fmt = '%Y%j'
    datestd = datetime.datetime.strptime(jdate, fmt).date()
    return(datestd)

def jdtotimestd (jtime):
  if len(jtime) == 5:
    jtime = '0' + jtime
  elif len(jtime) == 6:
    jtime = jtime
  else:
    jtime = '000000'
    
  stdtime = jtime[0:2] + ':' +  jtime[2:4]  + ':' + jtime[4:6]
  return stdtime

假设你的原始数据存储在pandas DataFrame中,日期字段名为jdate、时间字段名为jtime,处理逻辑如下:

# 构造示例数据,可替换为你自己的DataFrame
df = pd.DataFrame({
    'jdate': ['120365', '23001', '2023100'],
    'jtime': ['140932', '91522', '1234']
})

# 转换日期为指定字符串格式
df['date_str'] = df['jdate'].apply(jdtodatestd).apply(lambda x: x.strftime('%Y, %m, %d'))
# 转换时间为标准格式
df['time_str'] = df['jtime'].apply(jdtotimestd)
# 拼接得到目标格式结果
df['final_datetime'] = df['date_str'] + ' ' + df['time_str']

执行后final_datetime列的第一条数据输出即为你需要的2012, 12, 30 14:09:32。

如果后续需要做时间计算,可额外将拼接后的字段转为pandas datetime类型:

df['datetime'] = pd.to_datetime(df['final_datetime'], format='%Y, %m, %d %H:%M:%S')

内容的提问来源于stack exchange,提问作者Special Circumstances Agent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 17:06:01