博客
关于我
pandas :将时间戳转换为 datetime.date
阅读量:795 次
发布时间:2023-02-26

本文共 1593 字,大约阅读时间需要 5 分钟。

如何将时间戳转换为日期对象?使用pandas的高效方法

在数据分析中,处理时间戳数据是常见任务之一。pandas提供了强大的工具,使得将时间戳转换为日期对象变得简便。本文将介绍如何利用pandas实现这一目标。

步骤说明

  • 导入pandas库
    首先,我们需要导入pandas库,以便能够使用其强大的数据处理功能。
  • import pandas as pd
    1. 创建包含时间戳的DataFrame
      创建一个包含时间戳的DataFrame是完成任务的第一步。以下是一个示例:
    2. data = {'timestamp': [1597962000, 1597958000, 1597954000]}
      df = pd.DataFrame(data)
      1. 将时间戳转换为datetime对象
        使用pd.to_datetime()函数可以将时间戳转换为pandas的datetime对象。默认情况下,pd.to_datetime()会根据时间戳的单位自动检测。为了明确指定单位,我们可以将其设置为's'。
      2. df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')
        1. 提取日期部分
          通过使用.dt.date属性,我们可以从datetime对象中提取日期部分。
        2. df['date'] = df['datetime'].dt.date
          1. 完整代码示例
            将以上代码整合在一起,形成完整的代码示例:
          2. import pandas as pd
            # 创建一个包含时间戳的DataFrame
            data = {'timestamp': [1597962000, 1597958000, 1597954000]}
            df = pd.DataFrame(data)
            # 将时间戳转换为datetime对象
            df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')
            # 提取日期部分
            df['date'] = df['datetime'].dt.date
            # 打印结果
            print(df)

            输出结果

            timestamp    datetime       date
            0 1597962000 2020-08-21 13:20:00 2020-08-21
            1 1597958000 2020-08-21 12:40:00 2020-08-21
            2 1597954000 2020-08-21 12:10:00 2020-08-21

            测试用例

            为了验证代码的正确性,可以编写以下测试用例:

            def test_timestamp_to_date():
            data = {'timestamp': [1597962000, 1597958000, 1597954000]}
            df = pd.DataFrame(data)
            df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')
            df['date'] = df['datetime'].dt.date
            assert df.iloc[0]['date'] == pd.Timestamp('2020-08-21').date()
            assert df.iloc[1]['date'] == pd.Timestamp('2020-08-21').date()
            assert df.iloc[2]['date'] == pd.Timestamp('2020-08-21').date()
            test_timestamp_to_date()

            总结

            通过以上步骤,我们成功地将时间戳转换为日期对象。pandas的高效功能使得这一过程变得简单易捷。希望以上内容对您有所帮助!

    转载地址:http://anvfk.baihongyu.com/

    你可能感兴趣的文章
    oracle 查询clob
    查看>>
    Oracle 比较 B-tree 和 Bitmap 索引
    查看>>
    UML- 组件图(构件图)
    查看>>
    oracle 监听器的工作原理
    查看>>
    oracle 行转列
    查看>>
    Oracle 表
    查看>>
    oracle 课堂笔记
    查看>>
    Oracle 返回结果集的 存储过程
    查看>>
    Oracle 递归
    查看>>
    Oracle 递归函数与拼接
    查看>>
    oracle 逻辑优化,提升高度,综合SQL上下文进行逻辑优化
    查看>>
    oracle 闪回关闭,关闭闪回即disable flashback的操作步骤
    查看>>
    oracle 限制用户并行,insert /*parallel */ 到不同用户,并行起不来的问题
    查看>>
    oracle--用户,权限,角色的管理
    查看>>
    Oracle-定时任务-JOB
    查看>>
    oracle.dataaccess 连接池,asp.net使用Oracle.DataAccess.dll连接Oracle
    查看>>
    oracle00205报错,Oracle控制文件损坏报错场景
    查看>>
    Oracle10g EM乱码之快速解决
    查看>>
    Oracle10g下载地址--多平台下的32位和64位
    查看>>
    Oracle10g安装了11g的ODAC后,PL/SQL连接提示TNS:无法解析指定的连接标识符
    查看>>