当前位置:   article > 正文

Pandas时间序列_pandas生成时间序列

pandas生成时间序列

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

1.获取当前时间

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

示例如下:

from datetime import datetime
print(datetime.now())
  • 1
  • 2

输出结果:

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'))   #将整型或浮点型表示的时间转换为时间戳
  • 1
  • 2
  • 3

输出结果:

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)
  • 1
  • 2
  • 3
  • 4
  • 5

输出结果:

[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])))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

输出结果:

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

输出结果:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/230248
推荐阅读
相关标签
  

闽ICP备14008679号