掘金输出的时间数据处理方法

掘金在为使用者提供数据时,有一类数据处理起来有些麻烦,这类数据就是时间数据。

它们长这样:

或者这样:

查看一下它们的类型,发现有datetime,datetime64,Timestamp等等。

这么多各种各样的类型,我们应该怎样处理呢?

转化成标准的“年月日”格式

以tick里面的“created_at”为例,该数据由“年、月、日、时、分、秒+时区”组成。想要转化为标准的年月日时分秒数据,需要用到datatime库中的strftime。strftime是将一个字符串转化为时间格式。因此需要先将“created_at”转化为字符串,再用strptime转化为时间格式。

由于“created_at”里面包含元素过多,我们只需要提取其中的年月日即可,这是要用到split函数,将字符串拆分。我们只需要“年月日”这部分,所以要将空格之前的部分提取出来。

步骤:将时间转化为字符串——将字符串拆分——将新的字符串转化为时间格式

time = tick['created_at']t = datetime.datetime.strptime(str(time).split(' ')[0],'%Y-%m-%d')

如果是装在dateframe里面的时间怎么处理?

dateframe的话要先遍历整个dateframe中的eob,逐个转化为标准时间格式。此时要用到apply函数。

data = history(symbol='SHSE.600519',start_time='1997-01-20',end_time='2020-01-01',fields='symbol,eob,close',df=True)data['eob'] = data['eob'].apply(lambda x:x.strftime('%Y-%m-%d'))

转化成标准的“年月日,时分秒”格式

和上面的思路相同,不过这次要提取的字符串部分变为“年月日,时分秒”这部分,所以要将"+"之前的部分提取出来,再将“.”前面的部分提出来。

time = tick['created_at']t = datetime.datetime.strptime(str(time).split('+')[0].split('.')[0],'%Y-%m-%d %H:%M:%S')

返回结果:

提取其中的年、月、日、时、分、秒

有时我们需要提取某段时间的其中一部分,这时直接提取相应部分即可。

# 年月日、时分秒year = t.yearmonth = t.monthday = t.dayhour = t.hourminute = t.minutesecond = t.secondweekday = t.weekday()

时间调整

如果我想要向前一天或向后一天的数据时该怎么办?
这时要用到datetime里面的timedelta函数。这个函数能够自动返回时间差。

举个例子:如果我想要当前时间向前推一天。首先将timedelta里面设置为1天,向前推一天就表示在原来的时间-时间间隔。

change_time = t - datetime.timedelta(days=1)

得到的时间刚好是2020年8月31日。

如果是向后推一天,就用(t+时间间隔)即可。

来源:掘金社区  作者:四两

声明:本公众号致力于量化投资相关的干货文章分享,仅供交流探讨,不构成任何投资建议!著作权归作者所有,若涉及侵犯您的权益,敬请原作者见谅,并后台留言联系小编进行协商或删除处理,谢谢。

END

点击“阅读原文”掘金量化实盘申请

返回后的数据处理_【掘金使用技巧2】掘金返回数据中时间的处理方法相关推荐

  1. 数据库sql创建标量值函数_使用JSON_VALUE()从JSON数据中提取标量值

    数据库sql创建标量值函数 In this article, we will explore JSON_VALUE() function in SQL Server to extract scalar ...

  2. 服务器返回它们的和_无服务器有其陷阱。 这是避免它们的方法。

    服务器返回它们的和 by Nicolas Dao 由Nicolas Dao 无服务器有其陷阱. 这是避免它们的方法. (Serverless has its pitfalls. Here's how ...

  3. java 父类返回子类是咧_【daily】Java泛型 - 返回父类的子类

    一.栗子 public class GenericityInher { //error: Type mismatch: cannot convert from ArrayList to ArrayLi ...

  4. 负压电路_负压设计技巧:单片机电子电路中常用的负压产生电路!

    [smt接单中]热烈祝贺张飞电子正式建成多条进口贴片加工流水线,下单送视频,狂优惠3个月!!! 张飞电子,smt加工,接单客服如下: 客服小姐姐:笑笑     客服小姐姐:萌萌 电话:18994463 ...

  5. php返回mysql错误语句_[已解决]php查询mysql返回了错误的结果

    大约是不支持中文字符的原因:将mysql的所有属性都改成英文字符之后,使用mysql好了. 但是! 用mysqli写 还是会返回空(又测了下,密码框不输入或输入0都会得到登录成功的提示) 都明白了 r ...

  6. python调用自定义函数返回值的类型_生成dll文件以及python对DLL中函数的调用(参数类型以及返回值)...

    工具:VS2010    python2.7 (若使用的python是64位的,生成的dll也要使用x64) 系统:win7pro 64bit 首先,dll工程的创建以及dll文件的生成: new p ...

  7. 刷magisk模块后不能开机_刷Magisk模块开机卡Logo了怎么办?两种方法教你轻松解决...

    虽然,Magisk由于工作原理的不同,其模块对系统的兼容性相比较于此前的Xposed框架模块要好得多,但是依旧有可能出现刷了模块之后,卡Logo,无法开机的情况.今天,小编就提供两种方式解决刷Magi ...

  8. 【Excel技巧】分类汇总数据单独复制的简便方法

    很多时候需要将分类汇总后的数据单独拿出来做处理,记得还很早的时候有网友在QQ上问过我关于分类汇总要怎么样才能单独复制出来,当时在网上搜索了一下,没找到解决办法,就自己试着做了一遍,发现是可以复制出来单 ...

  9. webconfig的解决方案怎么添加_解决在Web.config或App.config中添加自定义配置的方法详解...

    文档从网络中收集,已重新整理排版 .word 版本可编辑 . 欢迎下载支持 . 1 word 版本可编辑 . 欢迎下载支持 . 解决在 Web.config 或 App.config 中添 加自定义配 ...

最新文章

  1. python散点图点的大小-python散点图面积大小比例轴长度
  2. 互联网运营期产品评审杂思,互联网营销
  3. 2017年第八届蓝桥杯 - 省赛 - C/C++大学A组 - C. 魔方状态
  4. 一个监测IIS,并定时重新启动的程序。
  5. 向量几何在游戏编程中的使用系列二之2-D物体间的碰撞响应
  6. React 学习笔记 —— Ref Hook
  7. java as操作_java 对类型的基本操作小结
  8. SDS趋势之二:对象存储将替代文件存储
  9. JVM体系结构与工作方式
  10. mac pycharm 卸载_Mac上Virtual Box虚拟机Linux系统安装
  11. linux du命令参数及用法详解---linux统计磁盘空间大小命令
  12. duilib开发基础:创建自定义控件的过程
  13. html超浪漫的3D动态相册表白网站制作 html程序员专属情人节表白网站
  14. android 主题颜色意义
  15. Cisco AP-Regulatory Domain
  16. 第3章 枚举!很暴力
  17. 拉美外贸收款:BBVA银行
  18. Java web学习日志第一天
  19. Switchbox系列 - Windows安装和使用
  20. 史上最全的 pom.xml 文件详解

热门文章

  1. 计算机配置里 无 管理模板,组策略里打开后没有管理模板
  2. android支持色彩管理软件,安卓首家!OPPO全链路色彩管理系统亮相:全局支持10bit照片视频...
  3. java readline最后一行_java – 如何在reader.readLine()中检测第一行和最后一行?
  4. python里、能用分支结构写出循环的算法吗_python变量运算符分支结构循环结构及例题...
  5. php安装,PHP安装
  6. sap 打印预览界面点击打印时记录打印次数_SAP打印机设置
  7. C语言编写一个赋值程序,实验2 用C语言编写简单程序——2.1 基本数据处理.doc
  8. 可视化计算java_Java可视化计算器
  9. scatter python_python数据可视化(matplotlib、scatter)
  10. ddr读时序波形_测试新体验|如何解决DDR内存系统测试难题?