Pandas对时间的深度理解

说明

  1. 软件:安装有python、pandas
  2. 对四个时间概念理解、对to_datetime、datetime_range方法的应用

一、 对四个时间概念理解

  1. 时间戳datetime64[ns]
  • 功能:表示时间点
  • 方法:dtype=‘datetime64[ns]’ 类型定为datetime64[ns]就可以了
  • 例:
    在这里插入图片描述
  1. 时间段period[Y | M | D]
  • 功能:表示某一段时间
  • 方法:dtype=‘period[D]’ 类型设置为period[D]
  • 注:Y表示年,M表示月,D表示天
  • 例:
    在这里插入图片描述
  1. 绝对持续时间Timedelta
  • 功能:表示绝对的一段时间,可以用于时间的计算
  • 方法:pd.Timedelta(days=nu) 注:nu可以是负数(表示之前几天),也可以是正数(之后几天)
  • 例:
    在这里插入图片描述
    注:Timedelta的参数有weeks, days, hours, minutes, seconds, milliseconds, microseconds, nanoseconds
  1. 相对持续时间DateOffset
  • 功能:表示相对的一段时间,可以用于时间的计算,但没有类型,计算性能不强
  • 方法:pd.DateOffset(days=nu) 注:nu可以是负数(表示之前几天),也可以是正数(之后几天)
  • 例:
    在这里插入图片描述
  1. 时间戳与绝对时间计算
  • 功能:时间戳与绝对时间的计算
  • 方法:时间戳±绝对时间
  • 例:
    在这里插入图片描述

二、to_datetime

  • 功能:将字符串转化为时间戳

  • 方法:pd.to_datetime(str | list_str | series,errors=‘raise’,formate=’%Ystr%mstr%dstr’)
    在这里插入图片描述

  • errors参数有"raise"抛出错误, "ignore"不能转化时为不转化, "coerce"不能转化的转化为空NaT

  • "raise"抛出错误
    在这里插入图片描述

  • "ignore"不能转化时为不转化
    在这里插入图片描述

  • coerce
    在这里插入图片描述

  • formate参数
    注:所有的字符串都必须格式一格,不然会出错
    在这里插入图片描述

  • 例:
    在这里插入图片描述
    在这里插入图片描述

三、date_range

  • 功能:生成一系列时间

  • 方法:pandas.date_range(start=date_str,end=date_str,periods=nu,freq=‘D’

  • 参数说明:start开始时间,end结束时间,periods生成时间个数,freq时间步长

  • freq频率
    在这里插入图片描述

  • 例:
    在这里插入图片描述

四、Datetimelike访问器dt

  • 功能:访问Series的属性/方法
  • 方法:Datetimelike.dt.<property/method>
  • 说明:Datetimelike包含Datetime、Period、Timedelta
  • property详细
    在这里插入图片描述
  • method方法详细
    在这里插入图片描述

五、Period创建和属性访问器

  1. Period创建
  • pandas.period(str_date)
  • pandas.period_range(start=str_date,end=str_date,periods=nu,freq=‘D’)
  1. Period属性访问器
  • start_time 开始时间
  • end_time 结束时间
  • 其它的与Datetimelike访问器的属性及方法一至
    在这里插入图片描述
    在这里插入图片描述

六、Timedelta时间间隔创建和访问器

  1. 创建
  • pandas.Timedelta(str_date,unit)
    在这里插入图片描述
    混合使用
    #也可以组合使用如 2d3h4t9s
    在这里插入图片描述
  • pandas.to_timedelta(str_date,unit)
    在这里插入图片描述
    注:使用unit时,str_date必须是数字。而str_date是字符串时,unit不起作用
  • pandas.timedelta_range(start=str_date,end=str_date,periods=nu,freq=unit)
    在这里插入图片描述与date_range的用法是一样的
  1. .dt访问器
  • 属性使用
  • 只有seires才可以使用,而TimedeltaIndex不可以使用.dt
    在这里插入图片描述
  • 访问器.dt 访问属性days,seconds
    注:days表示日期,seconds而表示秒,还有其它
    在这里插入图片描述
  • components是将各个时间变量转化成DataFrame
    在这里插入图片描述
  • #total_seconds把所有时间变成秒

在这里插入图片描述

七、datetimeindex时间序列索引

  1. 时间序列索引
  • 功能:可以通过年月日来索引,注切片可以到时分秒,但时分秒不可用于单个索引。
  • 方法:
    在这里插入图片描述
  1. 使用datetimeindex来索引

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 在这里插入图片描述
  • 注:不可到秒,但可以到时分
    在这里插入图片描述
  • 切片
  • 说明:可以是年月日时分秒的任意组合
    在这里插入图片描述
  1. 当列与索引同名时,优先列
    在这里插入图片描述
  2. 时间索引系乱序时,还是与时间顺序取值。
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值