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

Jupyter Notebook导入CSV的dd.mm.yyy格式日期并合并为datetime的问题

格式错乱的原因是pandas默认解析日期时,会自动将dd.mm.yyyy格式中小于等于12的首日识别为月份,导致8月9日被错解析为9月8日,超过12的日期则会被正确识别为日,所以出现了后半段日期正常、前半段错乱的问题。

你可以通过指定日期格式的方式直接合并日期、时间列为标准datetime类型,处理8万行数据速度极快,完全不会影响后续绘图效率:

方法1:读取CSV时直接合并转换

如果你的日期列名为date、时间列名为time,直接在读取时配置参数即可:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv(
    "你的文件路径.csv",
    # 合并date、time列为新的datetime列
    parse_dates={"datetime": ["date", "time"]},
    # 明确指定你数据的日期时间格式
    date_format="%d.%m.%Y %H:%M:%S"
)

方法2:已读取CSV后手动转换

如果已经把数据读取到DataFrame中,可以手动合并两列后转换:

# 拼接日期、时间字符串后按指定格式转为datetime类型
df["datetime"] = pd.to_datetime(df["date"] + " " + df["time"], format="%d.%m.%Y %H:%M:%S")

验证与绘图

转换完成后可以用df.dtypes查看列类型,datetime列会显示为datetime64类型,而非object类型,直接用于matplotlib绘图即可:

plt.plot(df["datetime"], df["你的数值列名"])
# 自动旋转x轴时间标签避免重叠
plt.gcf().autofmt_xdate()
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:24:07