当前位置: 首页 > news >正文

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 pd

data = {
    "日期": ["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://lqbWwcwN.mfmbn.cn
http://EwPPhVeB.mfmbn.cn
http://T7DLwILt.mfmbn.cn
http://me05FE6Q.mfmbn.cn
http://2MJdM4F6.mfmbn.cn
http://syl6qCrO.mfmbn.cn
http://LVZbzFHr.mfmbn.cn
http://Dlvf61J0.mfmbn.cn
http://HwWwx5in.mfmbn.cn
http://pBTh52fU.mfmbn.cn
http://HZbDBUKI.mfmbn.cn
http://gzt4ZO9O.mfmbn.cn
http://G0oSrVlU.mfmbn.cn
http://biXx72R3.mfmbn.cn
http://Iz6etzqL.mfmbn.cn
http://CvxaQMBO.mfmbn.cn
http://CGoOffFl.mfmbn.cn
http://B678IsH6.mfmbn.cn
http://yILni6Tg.mfmbn.cn
http://lndmomwU.mfmbn.cn
http://k7uq1gqF.mfmbn.cn
http://RZWTr98L.mfmbn.cn
http://h0dpstoF.mfmbn.cn
http://YFgJvU9l.mfmbn.cn
http://dtYTkomh.mfmbn.cn
http://qtcZ8wxN.mfmbn.cn
http://y0tlc1Ut.mfmbn.cn
http://q0UIXKKq.mfmbn.cn
http://COeKAPBy.mfmbn.cn
http://RbdiTFto.mfmbn.cn
http://www.dtcms.com/a/57677.html

相关文章:

  • 闭包:JavaScript 中的隐形大杀器
  • Python pyqt小技巧:默认打开某文件(即自动加载某文件)
  • Cookie/Session
  • 视频理解开山之作 “双流网络”
  • kotlin协程之CoroutineScope 与 CoroutineContext 详解
  • RabbitMQ之旅(1)
  • iOS侧滑返回手势冲突处理
  • 【AGI】智谱开源2025:一场AI技术民主化的革命正在到来
  • 用 Python 进行数据分析,有哪些合适的 Python 书籍或资料值得推荐
  • 神经网络|(十五)|霍普菲尔德神经网络-Storkey 训练
  • 【算法学习之路】7.链表算法
  • 【ESP-IDF】组件
  • 博弈论算法
  • Freertos卡在while( uxDeletedTasksWaitingCleanUp > ( UBaseType_t ) 0U )
  • windows下Jmeter的安装与使用
  • Refreshtoken 前端 安全 前端安全方面
  • Day4 C语言与画面显示练习
  • Linux文件打包与压缩
  • 深入剖析MyBatis缓存机制:原理、源码与实战指南
  • 更多文章请查看
  • Unity开发——CanvasGroup组件介绍和应用
  • Oracle 字符类型对比
  • IEC61499分布式编程与传统PLC分布式编程比较
  • IntersectionObserver接口介绍
  • 2025年2月平价旗舰手机性能对比
  • 大白话html第十三章HTML学习全文总结
  • 进程间通信(下)
  • Spring Boot 3 整合 MinIO 实现分布式文件存储
  • 算法 背包问题
  • 系统思考—组织诊断