首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文带你搞懂pandas中的时间处理

1、pandas中6个时间相关的类

   在多数情况下,对时间类型数据进行分析的前提就是将原本为字符串的时间转换为标准时间类型。

  pandas继承了NumPy库和datetime库的时间相关模块,提供了6种时间相关的类。

2、Timestamp类

其中Timestamp作为时间类中最基础的,也是最为常用的。在多数情况下,时间相关的字符串都会转换成为Timestamp。pandas提供了to_datetime()函数,能够实现这一目标。

值得注意的是,Timestamp类型时间是有限制的。

1)查看时间列,是str字符串列,还是时间格式列

结果如下:

2)使用pd.to_datetime()将字符串,转换为日期格式

结果如下:

3)Timestamp类只能表示1677年-2262年的时间

结果如下:

4)Timestamp类常用属性

在多数涉及时间相关的数据处理,统计分析的过程中,需要提取时间中的年份,月份等数据。使用对应的Timestamp类属性就能够实现这一目的。

结合Python列表推导式,可以实现对DataFrame某一列时间信息数据的提取。

操作如下:

结果如下:

5)利用strftime()方法提取指定格式日期

结果如下:

3、DatetimeIndex与PeriodIndex函数:类似于to_datetime()函数

除了将数据字原始DataFrame中直接转换为Timestamp格式外,还可以将数据单独提取出来将其转换为DatetimeIndex或者PeriodIndex。

转换为PeriodIndex的时候需要注意,必须通过freq参数指定时间间隔,常用的时间间隔有Y为年,M为月,D为日,H为小时,T为分钟,S为秒。两个函数可以用来转换数据还可以用来创建时间序列数据,其参数非常类似。

i

结果如下:

4、Timedelta类

Timedelta是时间相关的类中的一个异类,不仅能够使用正数,还能够使用负数表示单位时间,例如1秒,2分钟,3小时等。使用Timedelta类,配合常规的时间相关类能够轻松实现时间的算术运算。目前Timedelta函数中时间周期中没有年和月。

1)日期前移、后移一天

结果如下:

2)两个时间做差

使用Timedelta,可以很轻松地实现在某个时间上加减一段时间。除了使用Timedelta实现时间的平移外,还能够直接对两个时间序列进行相减,从而得出一个Timedelta。

结果如下:

综上所述:上述的6个方法,只要将str转换为日期格式后,都可以统一使用如下的【Timestamp类的常用属性】,进行提取年、提取月 等操作。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200319A0TEBR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券