pandas——to_datatime用法

Pandas中pd.to_datetime的用法及示例

pd.to_datetime 是 Pandas 库中用于将字符串、整数或列表转换为日期时间(datetime)对象的核心函数。它在处理时间序列数据时至关重要,能够灵活解析多种日期格式并统一为标准时间类型。以下是其核心用法及示例:


1. 基本用法

将字符串或列表直接转换为日期时间格式:

Python复制

import pandas as pd# 示例 1:单个日期字符串转换
date_str = "2024-03-08"
date = pd.to_datetime(date_str)
print(date)  # 输出:2024-03-08 00:00:00# 示例 2:列表转换
dates_list = ["2024-01-01", "2024-02-01", "2024-03-01"]
dates = pd.to_datetime(dates_list)
print(dates)
# 输出:
# DatetimeIndex(['2024-01-01', '2024-02-01', '2024-03-01'], dtype='datetime64[ns]', freq=None)

引用:[[5]][[9]]


2. 处理多格式日期字符串

支持多种日期格式(如 YYYY-MM-DDMM/DD/YYYYJan 01, 2024 等)的自动解析:

Python复制

dates = ["2024-03-08", "03/08/2024", "Mar 08, 2024", "2024.03.08"]
converted = pd.to_datetime(dates)
print(converted)
# 输出:
# DatetimeIndex(['2024-03-08', '2024-03-08', '2024-03-08', '2024-03-08'], dtype='datetime64[ns]', freq=None)

引用:[[2]][[8]]


3. 自定义日期格式

通过 format 参数显式指定日期格式(提升解析效率):

Python复制

date_str = "08-03-2024"  # 格式为 DD-MM-YYYY
date = pd.to_datetime(date_str, format="%d-%m-%Y")
print(date)  # 输出:2024-03-08 00:00:00

引用:[[3]][[5]]


4. 处理无效日期

通过 errors 参数控制无法解析值的处理方式:

  • errors='raise':报错(默认)。

  • errors='coerce':转换为 NaT(Not a Time)。

  • errors='ignore':保留原始值。

Python复制

invalid_dates = ["2024-02-30", "2024-13-01", "invalid"]
# 强制转换为 NaT
converted = pd.to_datetime(invalid_dates, errors='coerce')
print(converted)
# 输出:[NaT NaT NaT]

引用:[[4]][[9]]


5. 从 DataFrame 列转换

将数据框中的字符串列转换为日期时间类型:

Python复制

import pandas as pddata = {"日期": ["2024-01-01", "2024-02-01", "2024-03-01"],"销售额": [100, 200, 300]
}
df = pd.DataFrame(data)# 转换为 datetime 类型
df["日期"] = pd.to_datetime(df["日期"])
print(df.dtypes)
# 输出:
# 日期      datetime64[ns]
# 销售额             int64
# dtype: object

引用:[[8]][[10]]


6. 提取时间属性

转换后可通过 .dt 访问器提取年、月、日等属性:

Python复制

df["年份"] = df["日期"].dt.year
df["月份"] = df["日期"].dt.month
df["日"] = df["日期"].dt.day
print(df)
# 输出:
#         日期  销售额  年份  月份  日
# 0 2024-01-01   100  2024   1   1
# 1 2024-02-01   200  2024   2   1
# 2 2024-03-01   300  2024   3   1

引用:[[5]][[9]]


7. 应用场景
  • 数据清洗:统一日期格式,处理缺失或异常值。

  • 时间序列分析:按年/月/日聚合数据。

  • 特征工程:提取时间特征(如季度、星期几)用于机器学习。


8. 注意事项
  1. 性能优化:处理大规模数据时,显式指定 format 参数可加速解析 [[3]]。

  2. 时区处理:通过 utc=True 转换为 UTC 时间,或使用 tz_localize 设置时区 [[8]]。

  3. 兼容性:支持 NumPy 的 datetime64 类型,可与其他时间序列工具(如 Matplotlib)无缝衔接 [[10]]。


通过 pd.to_datetime,Pandas 提供了高效且灵活的日期时间处理能力,是数据分析中不可或缺的工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学建模:MATLAB强化学习

一、强化学习简述 强化学习是一种通过与环境交互,学习状态到行为的映射关系,以获得最大积累期望回报的方法。包含环境,动作和奖励三部分,本质是智能体通过与环境的交互,使得其作出的动作所得到的决策得到的总的奖励达…

【leetcode hot 100 160】相交链表

解法一:(哈希集合)利用HashSet保存一个链表的值,循环另一个列表,在HashSet中寻找该值。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x…

19. 大数据-技术生态简介

文章目录 前言一、Hadoop介绍1. 简介2. Hadoop发展史3. Hadoop现状 二、Hadoop特性1. Hadoop国外应用2. Hadoop国内应用 三、Hadoop架构变迁1. 发行版本2. Hadoop架构变迁(1.0-2.0变迁)3. Hadoop架构变迁(3.0新版本)4. 综述 四、技术生态体系 前言 大数据(Big Data…

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例3: 行选择

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

VsCode 快捷键备忘

移动光标及选择文本 Ctrl ← / → :以单词为单位移动游标Home / End:光标移到行首/行位Ctrl Home / End:光标移到文件首和文件尾Ctrl Shift \:在匹配的分隔符之间跳转 配对的分隔符 是指分隔代码元素的字符,比如字…

用数据唤醒深度好眠,时序数据库 TDengine 助力安提思脑科学研究

在智能医疗与脑科学快速发展的今天,高效的数据处理能力已成为突破创新的关键。安提思专注于睡眠监测与神经调控,基于人工智能和边缘计算,实现从生理体征监测、智能干预到效果评估的闭环。面对海量生理数据的存储与实时计算需求,安…

SQL_语法

1 数据库 1.1 新增 create database [if not exists] 数据库名; 1.2 删除 drop database [if exists] 数据库名; 1.3 查询 (1) 查看所有数据库 show databases; (2) 查看当前数据库下的所有表 show tables; 2 数据表 2.1 新增 (1) 创建表 create table [if not exists…

Qt 开发 OpenGL 程序流程

在用 Qt 开发 OpenGL 程序时,整体的工作流程分为几个关键步骤,最终目的是将数据传递给 GPU 并开始渲染。这一过程涉及到从代码编写到与着色器连接的多个操作,下面我将详细讲解每个步骤。 1. 设置 Qt 项目 这个步骤是准备工作,你首…

长短期记忆网络(LSTM)学习指南

长短期记忆网络(LSTM)学习指南 1. 定义和背景 长短期记忆网络(Long Short-Term Memory, LSTM)是一种递归神经网络(RNN)的变体,旨在解决传统RNN在处理长期依赖关系时遇到的梯度消失或爆炸问题。…

仿12306项目(4)

基本预定车票功能的开发 对于乘客购票来说,需要有每一个车次的余票信息,展示给乘客,供乘客选择,因此首个功能是余票的初始化,之后是余票查询,这两个都是控台端。对于会员端的购票,需要有余票查询…

第十二届蓝桥杯 异或数列

原题: https://www.acwing.com/problem/content/3424/ 题目大意: A、B两人的数初始值均为0,他们轮流从X数组中取数,可以将该数与自己的数或对方的数进行异或操作,A先手,当X中的数被取完的时候谁的数大谁…

微服务的认识与拆分

微服务架构通过将应用分解为一组小的、独立的服务来实现,每个服务围绕特定业务功能构建,并能独立部署与扩展。这种架构增强了开发灵活性、提高了系统的可维护性和扩展性,使得团队可以更快地响应变化和市场需求。 目录 认识微服务 单体架构 …

高效编程指南:PyCharm与DeepSeek的完美结合

DeepSeek接入Pycharm 前几天DeepSeek的充值窗口又悄悄的开放了,这也就意味着我们又可以丝滑的使用DeepSeek的API进行各种辅助性工作了。本文我们来聊聊如何在代码编辑器中使用DeepSeek自动生成代码。 注:本文适用于所有的JetBrains开发工具&#xff0c…

项目中同时使用Redis(lettuce)和Redisson的报错

温馨提示:图片有点小,可以放大页面进行查看... 问题1:版本冲突 直接上图,这个错表示依赖版本不匹配问题,我本地SpringBoot用的是2.7,但是Redisson版本用的3.32.5。 我们通过点击 artifactId跟进去 发现它…

Jackson 详解

目录 前言 Jackson 是 Java 生态中最流行的 JSON 处理库之一,广泛应用于 RESTful API、数据存储和传输等场景。它提供了高效、灵活的 JSON 序列化和反序列化功能,支持注解、模块化设计和多种数据格式(如 XML、YAML)。本文将详细介…

H.264,H.265,H.266标准技术改进

关于H.264,H.265,H.266相关资料链接: 标准及中文资料链接 视频编码中的主要技术 视频编码的目标是在保证视频质量的前提下,尽可能减少数据量。以下是视频编码中的核心技术: 块划分(Block Partitioning) 将视频帧划分…

clickhouse安装路径

《ClickHouse安装路径指南》 大家好,今天我们将一起学习如何在电脑上找到和理解ClickHouse的安装路径。这将帮助学生、科研人员以及任何对数据库技术感兴趣的人更好地管理他们的数据查询工作。 ClickHouse是一款列式存储数据库管理系统(DBMS&#xff09…

时序数据库 InfluxDB 3.0 版本性能实测报告:写入吞吐量提升效果验证

亮点总结: TSBS 测试表明,对于少于 100 万台设备的数据集,InfluxDB OSS 3.0 的数据写入速度实际上比 InfluxDB OSS 1.8 更慢。 对于 100 万台及以上设备的数据集,InfluxDB OSS 3.0 的数据写入性能才开始超过 InfluxDB OSS 1.8。…

AS32X601双核锁步MCU技术优势分析

AS32X601是国科安芯公司研制的一系列基于32位RISC-V指令集车规级MCU处理器芯片。主频高达180MHz,支持双核锁步架构,基于软错误防护技术加持,显著提高芯片安全性能。产品具有高安全、低失效、多IO、低成本、抗辐照等特点。 一、功能安全与可靠…

基于 LeNet 网络的 MNIST 数据集图像分类

1.LeNet的原始实验数据集MNIST 名称:MNIST手写数字数据集 数据类型:灰度图 (一通道) 图像大小:28*28 类别数:10类(数字0-9) 1.通过torchvision.datasets.MNIST下载并保存到本地…