怎么使用Pandas数据分析固定时间点和时间差

这篇文章主要介绍“怎么使用Pandas数据分析固定时间点和时间差”,在日常操作中,相信很多人在怎么使用Pandas数据分析固定时间点和时间差问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Pandas数据分析固定时间点和时间差”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

前言

pandas处理时间的对象有很多,分别表示不同的作用。

怎么使用Pandas数据分析固定时间点和时间差

本次介绍固定时间对象和时间长对象。

还是先导入包:

import numpy as np 
import pandas as pd 
import datetime

固定时间 时间点对象的建立

时间点就表示一个时刻的具体时间,比如现在是2022年8月10日16:31:56。

时间对象的建立有很多方法。

#使用 python 的 datetime 库,至少需要年月日

datetime.datetime.now()

怎么使用Pandas数据分析固定时间点和时间差

#指定时间
datetime.datetime(2022,8,10,10,5)

怎么使用Pandas数据分析固定时间点和时间差

#pandas 等第三方库都是在datetime建立时间对象的
#pd.Timestamp() 是定义时间的主要函数,代替 python 中的 datetime.datetime 对象。
pd.Timestamp(datetime.datetime(2020, 6, 8))

怎么使用Pandas数据分析固定时间点和时间差

指定时间字符串

pd.Timestamp('2012-05-01')
# Timestamp('2012-05-01 00:00:00')
pd.Timestamp('2017-01-01T12')
# Timestamp('2017-01-01 12:00:00')

#指定时间位置数字,可以依次定义 year, month, day,hour, minute, second, microsecond

pd.Timestamp(2012, 5, 1)
# Timestamp('2012-05-01 00:00:00')
pd.Timestamp(2017, 1, 1, 12)
# Timestamp('2017-01-01 12:00:00')
pd.Timestamp(year=2017, month=1, day=1, hour=12)
# Timestamp('2017-01-01 12:00:00')
#解析时间戳
pd.Timestamp(1513393355.5, unit='s') # 单位为秒
# Timestamp('2017-12-16 03:02:35.500000')
#指定时区
pd.Timestamp(1513393355, unit='s', tz='US/Pacific')
# Timestamp('2017-12-15 19:02:35-0800', tz='US/Pacific')
# 指定为北京时间
pd.Timestamp(1513393355, unit='s', tz='Asia/Shanghai')
# Timestamp('2017-12-16 11:02:35+0800', tz='Asia/Shanghai')
 #特殊时间
#以下可取得当前时间,从而可通过属性取到今天日期、年份等信息:
pd.Timestamp('today')
pd.Timestamp('now')
# Timestamp('2022-08-10 10:11:56.532981')
pd.Timestamp('today').date() # 只取日期

怎么使用Pandas数据分析固定时间点和时间差

 #也可以计算出昨天、明天等信息:
# 昨天
pd.Timestamp('now')-pd.Timedelta(days=1)
# Timestamp('2020-06-08 16:14:39.254365')
# 明天
pd.Timestamp('now')+pd.Timedelta(days=1)
# Timestamp('2020-06-10 16:15:28.019039')
# 当月初,一日
pd.Timestamp('now').replace(day=1)
# Timestamp('2020-06-01 16:15:28.019039')
 #时间限制
#由于 Pandas 以纳秒粒度表示时间戳,因此可以使用64位整数表示的时间跨度限制为大约584年:
pd.Timestamp.min
# Timestamp('1677-09-21 00:12:43.145225')
pd.Timestamp.max
# Timestamp('2262-04-11 23:47:16.854775807')

时间属性

一个具体的时间包含了非常丰富的信息,如年份、在周几、在几月、在哪个季度,需要我们进行属性的读取。

#先创建一个时间
time = pd.Timestamp('now')
time

怎么使用Pandas数据分析固定时间点和时间差

怎么使用Pandas数据分析固定时间点和时间差