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

Pandas read_csv未解析日期时间问题求解决方案

解决方法

你的问题核心是列名不匹配加上未明确指定日期格式,导致pandas无法正确解析为datetime类型。以下是两种可行的修改方案:

方案一:修正列名并指定格式读取

直接在read_csv中修正列名(CSV里的列是Arrival_Date和Arrival_Time,不是带空格的名称),同时通过date_format明确告诉pandas日期时间的格式:

import pandas as pd

df = pd.read_csv(
    '/content/SM_AI_Data.csv',
    index_col=['Study ID'],
    parse_dates=[['Arrival_Date', 'Arrival_Time']],
    date_format='%m/%d/%Y %H:%M:%S'
)
# 验证列类型
print(df.dtypes)

方案二:先读取再手动合并解析

如果方案一仍有问题,可以先读取所有数据,再手动合并日期和时间列并解析:

import pandas as pd

df = pd.read_csv('/content/SM_AI_Data.csv', index_col=['Study ID'])
# 合并日期时间字符串并解析为datetime类型
df['Arrival_Datetime'] = pd.to_datetime(
    df['Arrival_Date'] + ' ' + df['Arrival_Time'],
    format='%m/%d/%Y %H:%M:%S'
)
# 可选:删除原有的日期、时间列
df.drop(['Arrival_Date', 'Arrival_Time'], axis=1, inplace=True)
# 验证列类型
print(df.dtypes)

关键说明

  • 原代码中使用['Arrival Date','Arrival Time']作为合并列名,但CSV文件里的列是Arrival_Date和Arrival_Time(下划线分隔),这会导致pandas无法正确识别目标列,合并后的列自然无法被解析为datetime。
  • 指定date_format可以避免pandas自动推断格式时出错,确保解析准确性。

内容的提问来源于stack exchange,提问作者A.T.72

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:34:52