广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pandas如何将Timestamp转为datetime类型
  • 520
分享到

Pandas如何将Timestamp转为datetime类型

2024-04-02 19:04:59 520人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录将Timestamp转为datetime类型pandas生成时间索引Timestamp与datetimepandas从Timestamp中提取小时分钟等假设数据为将Timesta

将Timestamp转为datetime类型

在Pandas中我们在处理时间序列的时候常用的方法有:

  • pd.to_datetime()
  • pd.date_range()

pandas生成时间索引

# pd.date_range()
index = pd.date_range("20210101",periods=20)
index
Out[29]: 
DatetimeIndex(['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04',
               '2021-01-05', '2021-01-06', '2021-01-07', '2021-01-08',
               '2021-01-09', '2021-01-10', '2021-01-11', '2021-01-12',
               '2021-01-13', '2021-01-14', '2021-01-15', '2021-01-16',
               '2021-01-17', '2021-01-18', '2021-01-19', '2021-01-20'],
              dtype='datetime64[ns]', freq='D')


# pd.to_datetime()
df = pd.DataFrame(data=range(20210101,20210128),columns=["period"])
df["aa"] = pd.to_datetime(df["period"],fORMat="%Y%m%d")
df
Out[24]: 
      period         aa
0   20210101 2021-01-01
1   20210102 2021-01-02
2   20210103 2021-01-03
3   20210104 2021-01-04
4   20210105 2021-01-05
5   20210106 2021-01-06
6   20210107 2021-01-07
7   20210108 2021-01-08
8   20210109 2021-01-09
9   20210110 2021-01-10
10  20210111 2021-01-11
11  20210112 2021-01-12
12  20210113 2021-01-13
13  20210114 2021-01-14
14  20210115 2021-01-15
15  20210116 2021-01-16
16  20210117 2021-01-17
17  20210118 2021-01-18
18  20210119 2021-01-19
19  20210120 2021-01-20
20  20210121 2021-01-21
21  20210122 2021-01-22
22  20210123 2021-01-23
23  20210124 2021-01-24
24  20210125 2021-01-25
25  20210126 2021-01-26
26  20210127 2021-01-27

index[1]
Out[30]: Timestamp('2021-01-02 00:00:00', freq='D')
df["aa"][1]
Out[31]: Timestamp('2021-01-02 00:00:00')
df["aa"][1] == index[1]
Out[32]: True

type(df["aa"][1])
Out[33]: pandas._libs.tslibs.timestamps.Timestamp
type(index[1])
Out[34]: pandas._libs.tslibs.timestamps.Timestamp

Timestamp与datetime

从上面代码可以看出,pandas中的时间格式是pandas._libs.tslibs.timestamps.Timestamp

但是python中常用的时间格式是datetime.datetime

  • to_pydatetime()
t = datetime(2021,1,2)
type(t)
Out[54]: datetime.datetime
t
Out[55]: datetime.datetime(2021, 1, 2, 0, 0)
r = (index[1].to_pydatetime())
type(r)
Out[57]: datetime.datetime
t == r
Out[58]: True

将pandas Timestamp 转为 datetime 类型

In [11]: ts = pd.Timestamp('2014-01-23 00:00:00', tz=None)
In [12]: ts.to_pydatetime()
Out[12]: datetime.datetime(2014, 1, 23, 0, 0)

 

It's also available on a DatetimeIndex
rng = pd.date_range('1/10/2011', periods=3, freq='D')
rng.to_pydatetime()
Out[60]: 
array([datetime.datetime(2011, 1, 10, 0, 0),
       datetime.datetime(2011, 1, 11, 0, 0),
       datetime.datetime(2011, 1, 12, 0, 0)], dtype=object)

pandas从Timestamp中提取小时分钟等

官方文档: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#from-timestamps-to-epoch

最近需要提取某一天的时刻距离0:00的分钟数,找了文档之后想到这样一个办法:

假设数据为

In [64]: stamps = pd.date_range('2012-10-08 18:15:05', periods=4, freq='h')
In [65]: stamps
Out[65]: 
DatetimeIndex(['2012-10-08 18:15:05', '2012-10-08 19:15:05',
               '2012-10-08 20:15:05', '2012-10-08 21:15:05'],
              dtype='datetime64[ns]', freq='D')

先得到距离1970-01-01的秒数

In [66]: (stamps - pd.Timestamp("1970-01-01")) // pd.Timedelta('1s')
Out[66]: Int64Index([1349720105, 1349723705, 1349727305, 1349730905], dtype='int64')

对天取余,得到距离0:00的秒数

In [67]: (stamps - pd.Timestamp("1970-01-01")) // pd.Timedelta('1s') % 86400
Out[67]: Int64Index([65705, 69305, 72905, 76505], dtype='int64')

取距离0:00的分钟数

In [68]: (stamps - pd.Timestamp("1970-01-01")) // pd.Timedelta('1s') % 86400 /60
Out[68]: Int64Index([1095.0833333333333, 1155.0833333333333, 1215.0833333333333,
              1275.0833333333333], dtype='float64')

同样的,也可以取小时数

In [69]: (stamps - pd.Timestamp("1970-01-01")) // pd.Timedelta('1s') % 86400 /3600
Out[68]: Int64Index([18.25138888888889, 19.25138888888889, 20.25138888888889,
              21.25138888888889], dtype='float64')

取小时整数–当然取小时整数也有别的方法。

In [70]: (stamps - pd.Timestamp("1970-01-01")) // pd.Timedelta('1s') % 86400 //3600
Out[70]: Int64Index([18, 19, 20, 21], dtype='int64')

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Pandas如何将Timestamp转为datetime类型

本文链接: https://www.lsjlt.com/news/119422.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pandas如何将Timestamp转为datetime类型
    目录将Timestamp转为datetime类型pandas生成时间索引Timestamp与datetimepandas从Timestamp中提取小时分钟等假设数据为将Timesta...
    99+
    2022-11-11
  • Pandas怎么将Timestamp转为datetime类型
    本篇内容介绍了“Pandas怎么将Timestamp转为datetime类型”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!将Timestam...
    99+
    2023-07-02
  • Sequoiadb中怎么将DateTime和TimeStamp类型进行转换
    今天就跟大家聊聊有关Sequoiadb中怎么将DateTime和TimeStamp类型进行转换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。【解决办...
    99+
    2022-10-18
  • mysql如何将字符串转为datetime类型
    本篇内容介绍了“mysql如何将字符串转为datetime类型”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2022-10-19
  • php中如何将date转为timestamp
    这篇文章给大家分享的是有关php中如何将date转为timestamp的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在PHP中,可以使用strtotime()函数来将date(日期)转为timestamp(时间戳...
    99+
    2023-06-15
  • php如何将字符串转为timestamp
    这篇文章主要介绍了php如何将字符串转为timestamp,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php将字符串转为timestamp(时间戳)的方法:1、使用strt...
    99+
    2023-06-15
  • 如何将string转换为int类型
    在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。本文将向您介绍如何将字符串转换为整数。1. 使用内置函数int()Python...
    99+
    2023-08-02
  • javascript如何将float转为int类型
    这篇文章主要介绍“javascript如何将float转为int类型”,在日常操作中,相信很多人在javascript如何将float转为int类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2022-10-19
  • golang如何将string转为int类型
    本篇内容介绍了“golang如何将string转为int类型”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!strconv.Atoistrco...
    99+
    2023-07-05
  • golang如何将int转为byte类型
    这篇文章主要介绍了golang如何将int转为byte类型的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇golang如何将int转为byte类型文章都会有所收获,下面我们一起来看看吧。在Golang中,int类...
    99+
    2023-07-05
  • 在 MySQL 中,如何将秒数转换为 TIMESTAMP?
    它与 UNIX_TIMESTAMP() 完全相反,可以借助 FROM_UNIXTIME() 函数来完成。例如,11576070 秒将是 TIMESTAMP ‘1970-05-15 05:04:30’。mysql> Select...
    99+
    2023-10-22
  • PHP中如何将Decimal类型转为整数类型
    今天小编给大家分享一下PHP中如何将Decimal类型转为整数类型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、Deci...
    99+
    2023-07-05
  • php如何将int类型转为小数
    本篇内容介绍了“php如何将int类型转为小数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!转换方法:1、使用number_format()...
    99+
    2023-06-29
  • javascript如何将值转换为int类型
    这篇文章主要介绍了javascript如何将值转换为int类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 在...
    99+
    2022-10-19
  • mysql如何将varchar转换为int类型
    这篇文章主要介绍“mysql如何将varchar转换为int类型”,在日常操作中,相信很多人在mysql如何将varchar转换为int类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2022-10-19
  • javascript如何将值转化为int类型
    这篇文章给大家分享的是有关javascript如何将值转化为int类型的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 javascript将值转化为i...
    99+
    2022-10-19
  • php如何将值转换为bool类型
    这篇文章主要介绍“php如何将值转换为bool类型”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何将值转换为bool类型”文章能帮助大家解决问题。PHP 是一种无类型语言,它可以将变量的类型...
    99+
    2023-07-05
  • golang中如何将int32转为int类型
    这篇文章主要介绍“golang中如何将int32转为int类型”,在日常操作中,相信很多人在golang中如何将int32转为int类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”golang中如何将int...
    99+
    2023-07-05
  • pandas时间序列之如何将int转换成datetime格式
    目录将int转换成datetime格式原始时间格式pandas 时间数据处理转化时间类型生成时间序列提取时间属性计算时间间隔计算时间推移获取当前机器的支持的最大时间和最小时间将int...
    99+
    2022-11-11
  • php如何将数据类型转换为字符串类型
    今天小编给大家分享一下php如何将数据类型转换为字符串类型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。转换方法:1、使用s...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作