Pandas-时间(一)-数据类型:Timestamp(“时间戳”类型)【创建:①pd.Timestamp()->Timestamp;②pd.to_datetime(单个数据)】

时刻数据代表时间点,是pandas的数据类型,是将值与时间点相关联的最基本类型的时间序列数据

一、pd.Timestamp():用于生成单个时间戳

from datetime import datetime
import pandas as pd

date1 = datetime(2016, 12, 1, 12, 45, 30)  # 创建一个datetime.datetime
date2 = '2017-12-21'  # 创建一个字符串
data3 = '2017-12-21 15:00:22'

# 直接生成pandas的时刻数据 → 时间戳【数据类型为pandas的Timestamp】
t1 = pd.Timestamp(date1)
t2 = pd.Timestamp(date2)
t3 = pd.Timestamp(data3)

print("t1 = {0}, type(t1) = {1}".format(t1, type(t1)))
print("t2 = {0}, type(t2) = {1}".format(t2, type(t2)))
print("t3 = {0}, type(t3) = {1}".format(t3, type(t3)))

打印结果:

t1 = 2016-12-01 12:45:30, type(t1) = <class 'pandas._libs.tslibs.timestamps.Timestamp'>
t2 = 2017-12-21 00:00:00, type(t2) = <class 'pandas._libs.tslibs.timestamps.Timestamp'>
t3 = 2017-12-21 15:00:22, type(t3) = <class 'pandas._libs.tslibs.timestamps.Timestamp'>

Process finished with exit code 0

二、pd.to_datetime(单个数据):用于生成单个时间戳

pd.to_datetime():

  • 如果是单个时间数据,转换成pandas的时刻数据,数据类型为Timestamp
  • 多个时间数据,将会转换为pandas的DatetimeIndex数据类型

pd.to_datetime():如果输入是单个时间数据,转换成pandas的时刻数据,数据类型为Timestamp

from datetime import datetime
import pandas as pd

# pd.to_datetime():如果是单个时间数据,转换成pandas的时刻数据,数据类型为Timestamp
date1 = datetime(2016, 12, 1, 12, 45, 30)
date2 = '2017-12-21'
t1 = pd.to_datetime(date1)
t2 = pd.to_datetime(date2)
print("t1 = {0}, type(t1) = {1}".format(t1, type(t1)))
print("t2 = {0}, type(t2) = {1}".format(t2, type(t2)))
print('-' * 100)

打印结果:

t1 = 2016-12-01 12:45:30, type(t1) = <class 'pandas._libs.tslibs.timestamps.Timestamp'>
t2 = 2017-12-21 00:00:00, type(t2) = <class 'pandas._libs.tslibs.timestamps.Timestamp'>

Process finished with exit code 0

三、时间字符串与timestamp之间的转换

1、时间字符串转化成时间戳

将时间字符串转化成时间戳分为两步:

  • 第一步:将时间字符串转换成时间元组
  • 第二步:将时间元组转换成时间戳类型
import time
data['timestamp'] = data['OCC_TIM'].apply(lambda x:time.mktime(time.strptime(x,'%Y-%m-%d %H:%M:%S')))

其中,strptime函数是将字符串按照后面的格式转换成时间元组类型;mktime函数则是将时间元组转换成时间戳。

  • 如果原始时间字符串格式为 “2018-03-22 16:31:18”,则函数中使用“%Y-%m-%d %H:%M:%S”格式;
  • 如果原始时间字符串格式为 “20180322163118”,则函数中使用“%Y%m%d%H%M%S”格式;
    在这里插入图片描述

四、时间字符串格式更改

1、“2013-10-10 23:40:00” -->“2013/10/10 23:40:00”

a = “2013-10-10 23:40:00” ,想改为 a = “2013/10/10 23:40:00”

方法:先转换为时间数组,然后转换为其他格式

timeArray = time.strptime(a,  "%Y-%m-%d %H:%M:%S" )
otherStyleTime = time.strftime( "%Y/%m/%d %H:%M:%S" , timeArray)

2、“20131010234000” -->“2013-10-10 23:40:00”

timeArray = time.strptime(a,  "%Y%m%d%H%M%S" )
otherStyleTime = time.strftime( "%Y-%m-%d %H:%M:%S" , timeArray)

pandas的

pd_file['timestamp'] = pd_file['时间'].apply(lambda x:time.strftime('%Y-%m-%d %H:%M:%S', time.strptime(str(x),'%Y%m%d%H%M%S')))



参考资料:
【学习经典】时间序列处理(DatetimeIndex)
pandas实现将日期转换成timestamp
Python对DataFrame的 日期时间的处理
python 时间字符串和时间戳之间的转换
pandas实现将日期转换成timestamp
使用pandas怎么将日期转换成timestamp

pd.TimestampPandas库中的个类,用于表示时间戳。它可以识别多种格式的时间字符串,并将其转换为时间戳的形式。例如,可以使用pd.Timestamp("2020/12/06")来将字符串"2020/12/06"转换为时间戳。同时,也可以通过指定年、月、日、时、分、秒等参数来创建时间戳,例如pd.Timestamp(year=2020, month=12, day=6, hour=14, minute=19, second=52)Timestamp和Timedelta是Pandas库中的两个类,可以进行任意频率的相加操作(除了年)。例如,可以使用pd.Timestamp("2020/12/06") + pd.Timedelta(hours=2)来将时间戳"2020/12/06"和时间增量2小时相加。这样可以得到个新的时间戳。 在打印结果中,t1和t2分别是Timestamp类的实例,它们分别表示具体的时间点。可以看到,它们的类型都是<class 'pandas._libs.tslibs.timestamps.Timestamp'>。这个类型表示它们是Pandas库中的时间戳对象。 以上是关于pd.Timestamp的相关介绍和示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python Pandas 时间戳 timestamp 时间周期 period 时间增量 timedelta](https://blog.csdn.net/qq_35240689/article/details/127055388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Pandas-时间-数据类型Timestamp(“时间戳类型)【创建:①pd.Timestamp()-Timestamp;②pd.to...](https://blog.csdn.net/u013250861/article/details/124068389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值