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

在Pandas Series列中用strftime处理时间并生成指定格式NumPy数组

解决方案:处理Pandas时间列转换及NumPy数组生成

错误原因

你遇到的属性错误是因为strptime是Python标准库datetime模块的方法,仅支持处理单个字符串,无法直接作用于Pandas Series对象。Pandas有专门的批量时间处理工具,无需使用原生strptime。

分步解决代码

1. 将第0列转换为datetime类型

使用Pandas内置的pd.to_datetime()函数批量转换整列时间字符串:

import pandas as pd
import numpy as np

# 转换第0列为datetime类型,指定匹配原数据的格式
df[0] = pd.to_datetime(df[0], format='%Y-%b-%d/%H:%M:%S.%f')

format参数严格匹配你的时间字符串结构:年-月份缩写-日/时:分:秒.毫秒。

2. 生成仅保留时分秒的NumPy数组

根据你的需求,分两种情况处理:

  • 需求1:获取时间类型的NumPy数组
    提取datetime中的时间部分(仅保留时:分:秒),转为NumPy数组:

    time_np_array = df[0].dt.time.to_numpy()
    

    注:生成的数组元素是datetime.time类型,仅包含时分秒信息。

  • 需求2:获取格式化字符串的NumPy数组
    若需要'%H:%M:%S'格式的字符串数组,使用dt.strftime():

    # 注意:秒的格式符是大写%S,小写%s代表时间戳
    time_str_np_array = df[0].dt.strftime('%H:%M:%S').to_numpy()
    

内容的提问来源于stack exchange,提问作者user21064805

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 10:00:32