Pandas时间序列

Pandas时间序列

  • 1.获取当前时间
  • 2.时间戳
  • 3.用date_range() 创建固定间隔的时间序列
  • 4.转化为时间戳
  • 5.将时间序列设置为索引

时间序列(time series):就是由时间构成的序列,时间序列包含三种应用场景,分别是:
特定的时刻(timestamp),也就是时间戳;
固定的日期(period),比如某年某月某日;
时间间隔(interval),每隔一段时间具有规律性;

1.获取当前时间

可用Python 内置的 datetime 模块来获取当前时间,通过该模块提供的now()方法即可实现。

示例如下:

from datetime import datetime
print(datetime.now())

输出结果:

2022-10-08 14:22:32.346908

2.时间戳

时间戳通常是一个字符序列,唯一地标识某一刻的时间。
Unix时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数

示例如下:

import pandas as pd
print(pd.Timestamp('2017-03-01'))     #创建时间戳
print(pd.Timestamp(1665597655,unit='s'))   #将整型或浮点型表示的时间转换为时间戳

输出结果:

2017-03-01 00:00:00
2022-10-12 18:00:55

3.用date_range() 创建固定间隔的时间序列

该函数主要用于生成一个固定频率的时间索引
date_range(start, end, freq)

  • start:开始时间;
  • end:结束时间;
  • freq:时间频率,默认为 “D”(天);Y(年)、Q(季度)、M(月)、W(周)、D(天)、H(时)、T (分钟)

示例如下:

import pandas as pd
#freq表示时间频率,每一周变化一次
#print(pd.date_range("2021-12-02", "2021-12-29", freq="W"))
#每60s变化一次,用.time只输出时间变化,而不输出日期信息
print(pd.date_range("18:00", "18:10", freq="60s").time)

输出结果:

[datetime.time(18, 0) datetime.time(18, 1) datetime.time(18, 2)
datetime.time(18, 3) datetime.time(18, 4) datetime.time(18, 5)
datetime.time(18, 6) datetime.time(18, 7) datetime.time(18, 8)
datetime.time(18, 9) datetime.time(18, 10)]

4.转化为时间戳

使用 to_datetime() 函数将字符串类型的Series列表转化为时间序列类型

示例如下:

import pandas as pd
#将字符串类型转化成时间序列类型
print(pd.to_datetime('2021-01-24'))
print(pd.to_datetime('June 3,2021'))
#将Series列表转化成时间序列类型
print(pd.to_datetime(pd.Series(['2020-02-23','may 21 ,2020',None])))

输出结果:

2021-01-24 00:00:00
2021-06-03 00:00:00
0 2020-02-23
1 2020-05-21
2 NaT
dtype: datetime64[ns]

5.将时间序列设置为索引

使用set_index()将时间序列作为索引(可以对比将时间序列作为索引的输出变化)

示例如下:

time=pd.date_range(start='20211202',periods=4,freq='H')
item=['第一天','第二天','第三天','第四天']
data={
    'time':time,
    'item':item
}
ex=DataFrame(data=data)
print(ex)
print('='*30)
#将时间序列作为索引
ex.set_index('time',inplace=True)
print(ex)

输出结果:
Pandas时间序列_第1张图片

你可能感兴趣的:(python数据分析,pandas,python,数据分析,numpy,时间序列)