Pandas中时间的处理方法

使用 pandas 中的 Timestamp 中的 floor() 处理时间

Pandas Timestamp.floor()将新的时间戳返回到此分辨率,将所需的时间序列频率作为输入。

ts = pd.Timestamp(year=2011, month=11, day=21, hour=10, second=49, tz='US/Central')
print(ts) --》 2011-11-21 10:00:49-06:00
print(ts.floor(freq='D')) --》   2011-11-21 00:00:00-06:00
print(ts.floor(freq="T")) --》   2011-11-21 10:00:00-06:00
print(ts.floor(freq="min")) --》 2011-11-21 10:00:00-06:00
print(ts.floor(freq="min")) --》 2011-11-21 10:01:00-06:00
print(ts.floor(freq="min")) --》 2011-11-21 10:01:00-06:00

freq='D':以天为频率,'T':以分钟为频率,'min':与 T 的效果一致

ceil() 和 round() 的用法类似,区别和math中的 ceil() 和 round() 类似

使用pandas处理时间,Timestamp(时间戳)是pandas继承自datetime.datetime的类。专门处理DataFrame中关于时间的类型。时间戳由date(日期)和time(时间组成);日期year,month和day组成;时间由hour、minute和second组成。

timedelta在pandas中表示时间间隔,也就是时间差,是两个时间之间差值,可以是几年,几个月或者几天,也可以是几小时之类的时间。因为是时间差,因此既可以是正数,也可以是负数。

时间数据的读取

  1. 时间戳格式:导入时使用excel已经设置好了是时间格式,pandas自动转Timestamp格式。
  2. 字符串格式:文本格式,或从txt文本导入,或从List列表转换。是str格式,可用pd.to_datetime()将字符串转为Timestamp格式了。

将字符串转化为时间戳格式,这是所有时间类处理的第一步;

时间戳属性:

将时间戳转为需要格式的方法:

时间间隔计算:继承datetime.timedelta类,计算结果返回的是一个timedelta类型。

时间间隔的函数主要是对时间间隔计算,转换为标准格式,求总秒数等基础运算。 

上面都是对单个对象的处理,对pandas的整列数据(Series)处理,需要用 dt 属性借口。(提供了cat、dt、str 三种属性接口),dt 的属性跟之前的时间戳没有区别。 

时间加减操作;主要是在加减时,要把int转为timedelta对象才能正常的计算结果;

# 加一天并只显示日期
data['加一天'] = data['时间'].dt.date+pd.to_timedelta(1, unit='D')
# 加一小时
data['加一小时'] = data['时间']+pd.to_timedelta(1, unit='h')

Pandas 生成 TimeStamp 数据

pandas.to_datetime(['20221001010000']) -> 2022-10-01 01:00:00

pandas.to_datetime({'year': [2015] * num, 'month': [9] * num, 'day': [4, 5, 6], 'hour': [0, 1, 2]})

key值不能变,否则无法识别,value值数量要一致

参考:Python Pandas Timestamp.floor用法及代码示例 - 纯净天空

干货|python办公自动化(一)—数据处理之Pandas时间处理(一篇读懂时间) - 知乎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值