Python 时间的处理

Python 时间的处理

标签(空格分隔): python 数据分析


日期以及时间数据类型

日期 data, 时间 time
datatime是包含data以及time 的数据类型
timedelta两个datatime之间的差值

字符串和datatime的转化

datetime转换成字符串

stamp = datetime(2011, 1, 3)
str(stamp)
stamp.strftime('%Y-%m-%d') #可以自己定义格式

字符串转datetime

value = '2011-01-03'
stamp = datetime.strptime(value, '%Y-%m-%d')

还有一种很方便的就是通过第三方包dateutil

from dateutil.parser import parser
stamp = parser('2011-03-11') #parser几乎对所有格式时间都可以转化,但是对有歧义的需要小心,最后自己手动指明参数datefirst=true

pandas处理成组日期

datestrs = ['7/6/2011', '8/6/2011']
pd.to_datetime(datestrs+['None']) #pandas会将缺失值处理成NaT(Not a Time)
  • %Y 4位数的年
  • %y 2位数的年
  • %m 2位数的月
  • %d 2位数的日
  • %H 24小时 %I12小时
  • %M 2位数的分
  • %S 秒0, 61
  • %w 一周星期几
  • %U [00, 53]每年的第多少周,第一个星期天前被认为是第0周
  • %W [00, 53]每年的第多少周,第一个星期一前被认为是第0周
  • %F %Y-%m-%d的缩写
  • %D %m/%d/%y的缩写
  • %a 星期几简写 %A星期几全写
  • %b 月份简写 %B月份全写

Pandas时间片段

tmp = pd.date_range('1/1/2000', periods=1000)
longer_ts = Series(np.random.randn(1000), index=tmp)
longer_ts['2001'] #就可以把2001年的都取出来
#通过日期进行切片的方式只对规则Series有效???
longer_ts['1/6/2001':'1/11/2011'] #这里时间戳的日期可以不存在

带重复索引的时间序列,然后可以聚合
pd.date_range('1/1/2000', '10/1/2000', freq='BM)BM表示每月的最后一个工作日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值