python时间日期数据处理


#导入相关库
import pandas as pd
import numpy as np
import time
import datetime
import matplotlib.pyplot as plt

# 解决坐标轴刻度负号乱码
plt.rcParams['axes.unicode_minus'] = False

# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Simhei']

在计算机中,时间实际上是用数字表示的
我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为 epoch time (纪元),记为0(1970年以前的时间 timestamp 为负数),当前时间就是相对于 epoch time 的秒数,称为 timestamp(时间戳)
timestamp 的值与时区毫无关系,因为 timestamp 一旦确定,其 UTC 时间就确定了,转换到任意时区的时间也是完全确定的,这就是为什么计算机存储的当前时间是以 timestamp 表示的,因为全球各地的计算机在任意时刻的 timestamp 都是完全相同的(假定时间已校准)

python中时间日期数据对应的符号及含义:

类型    描述
%Y    四位的年份
%y    两位的年份
%m    两位的月份
%d    两位的日期号
%H    小时,24小时制00-23
%I    小时,12小时制01-12
%M    两位的分钟00-59
%S    秒00-61,其中60,61是闰秒
%w    星期日期0-6,其中0表示星期日
%U    一年中的星期数00-53。以星期天为每周第一天,一年中第一个星期天前的日期作为第“0”周
%W    一年中的星期数00-53。以星期一为每周第一天,一年中第一个星期一前的日期作为第“0”周
%z    格式为+HHMM或者-HHMM的UTC时区偏移;如果没有时区则为空。
%F    %Y-%m-%d的简写
%D    %m/%d/%y的简写
  • 1、时间戳 Timestamp 对象的生成

  • 1.1 pd.Timestamp

  • 1.2 pd.to_datetime

  • 1.3 pd.date_range

限制生成时间的数量和间隔:

 限制生成时间的范围和间隔:

  • 2、日期数据转化

将不规则的字符串日期,通过人工识别日期元素再写成 format 模式,然后通过 pd.to_datetime() 来提取时间元素,生成 datetime 对象

  • 2.1 转化为指定格式:.dt.strftime()

  • 2.2 提取特定的时间单位元素

  • 3、日期索引对象 DatetimeIndex

DatetimeIndex 的主要作用是之一是用作 Pandas 对象的索引,使用它作为索引除了拥有普通索引对象的所有基本功能外,还拥有简化频率处理的高级时间序列方法

  • 3.1 索引和切片

  • 3.2 其他方法

可以通过 Timestamp 或 DateTimeIndex 访问一些时间/日期的属性

想要查看所有的属性见官方链接:

Time/Date Components (http://pandas.pydata.org/pandas-docs/stable/timeseries.html#time-date-components)

  • 4、DateOffset对象

DateOffset 是做日期偏移的,它的参数与 dateutil.relativedelta 基本相同,工作方式如下

  • 5、重采样 resample 对象

resample 表示根据日期维度进行数据聚合,可以按照分钟、小时、工作日、周、月、年等来作为日期维度

更多的日期维度见 Offset Aliases( http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases )

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM