1.引入

时间是pandas数据的主要索引。中文网站上下载的数据含有中文日期,其中包含年月日。如下图所示:

沪深300指数的数据含有中文,需要处理成python的 datetime格式才能放入回测框架中. 方法有很多,关键如何优雅的使用pythonic的完成转换,需要考虑。

2.正则表达式提取年月日信息+map函数

用正则表达式提取年月日信息,然后改写成英文格式

def date_transder(my_str ):pattern = re.compile('(d+)D(d+)D(d+)')dd = pattern.findall(my_str)date_strr = dd[0][2]+'/'+dd[0][1]+'/'+dd[0][0]return date_strr

使用map function对索引数据里面的中文日期一一处理。

假设数据块存放在dataframe df 中。 df.index.values极为需要转换的日期。使用map函数实现数据间的映射。

dates = list(df.index.values)
dates = list(map(date_transder, dates))

3.完整代码

import re
import pandas as pd
import osdef date_transder(my_str ):pattern = re.compile('(d+)D(d+)D(d+)')dd = pattern.findall(my_str)date_strr = dd[0][2]+'/'+dd[0][1]+'/'+dd[0][0]return date_strrpath1 = os.path.abspath('.')
csv_dir = 'data_csv'
csv_dir = os.path.join(path1, csv_dir)
s='hs300'
df = pd.read_csv(os.path.join(csv_dir, '%s.csv' % s),header=0, index_col=0)
dates = list(df.index.values)
dates = list(map(date_transder, dates))
df = df.reset_index()
df['date'] = dates
df = df.set_index('date')
df = df.sort_index()
df.to_csv('hs300.csv')

4. 最终结果

重新索引排序过后的数据如下图。

沪深300index 数据下载地址:

https://cn.investing.com/indices/csi300-historical-data

es6 日期字符串转日期_量化数据预处理-中文日期(含)转英文日期相关推荐

  1. python 日期 格式转换 英文_量化数据预处理-中文日期(含)转英文日期

    1.引入 时间是pandas数据的主要索引.中文网站上下载的数据含有中文日期,其中包含年月日.如下图所示: 沪深300指数的数据含有中文,需要处理成python的 datetime格式才能放入回测框架 ...

  2. 数据透视表日期怎么选范围_筛选数据透视表中的日期范围

    数据透视表日期怎么选范围 In a pivot table, you might want to see all the orders that were shipped on a specific ...

  3. python预处理后变量情况描述_【数据预处理】python旅游网站数据清洗实践

    利用python进行数据预处理,不能离开pandas,我看过的教程在介绍数据预处理时的流程都是:numpy介绍.pandas介绍.数据预处理. 对于numpy和pandas,我的经验是不用刻意去记,知 ...

  4. python数据预处理的方法_文本数据预处理的方法

    文本数据分析(一):基本框架 在文本数据分析基本框架中,我们涉及到了六个步骤: 数据收集 数据预处理 数据挖掘和可视化 模型构建 模型评估 虽然框架需要迭代,但是我们先将其看作是一个线性的过程: 修正 ...

  5. 深度学习与计算机视觉系列(7)_神经网络数据预处理,正则化与损失函数

    作者:寒小阳 && 龙心尘  时间:2016年1月.  出处:  http://blog.csdn.net/han_xiaoyang/article/details/50451460  ...

  6. java两个字符串 相隔天数_关于Java: Joda-Time时间中两个日期之间的天数

    我如何找到两个joda time DateTime实例之间的天数差异?如果开始时间是星期一,结束时间是星期二,那么不管开始和结束日期的小时/分钟/秒是多少,返回值都应该是1. 如果从晚上开始到早上结束 ...

  7. Java格式化日期用斜杠_[java工具类01]__构建格式化输出日期和时间的工具类

    在之前的学习中,我写过一篇关于字符串格式化的,就主要设计到了时间以及日期的各种格式化显示的设置,其主要时通过String类的fomat()方法实现的. 我们可以通过使用不同的转换符来实现格式化显示不同 ...

  8. oracle时间格式设为英文,Oracle向中文字符集数据库导入英文日期格式数据出现问题的解决...

    在程序中导入脚本文件,执行结束后,没有出现错误,但是在查询customers表时,发现只有一行数据,仔细观察发现: 1. CREATE TABLE customers ( customer_id IN ...

  9. python下列数据中不属于字符串的是_下列数据中,不属于字符串的是( )。 (6.0分)_学小易找答案...

    [单选题]黄酮苷和黄酮苷元一般均能溶解的溶剂是 [其它]跨境物流与海外仓操作 [单选题]在python中,下列流程控制语句没有的是 [单选题]采用碱溶解酸沉淀法提取芦丁,用石灰乳调PH时,应调至 [多 ...

最新文章

  1. 设置commit 提交模板
  2. 开关电源异址替换实战割接
  3. 如何使用Hibernate将PostgreSQL枚举映射到JPA实体属性
  4. [react] 怎么定时更新一个组件?
  5. openjudge 14:求10000以内n的阶乘
  6. 关闭网页如何接收服务器消息,WebSocket服务端发消息给客户端,浏览器收到消息就关闭了...
  7. 【CS Round #46 (Div. 1.5) B】Letters Deque
  8. 嵌入式linux交叉开发环境,构建嵌入式Linux交叉开发环境
  9. 电脑常见故障排查思路
  10. java程序员转正述职报告PPT
  11. 航空以太网(ARINC664)接口测试工具
  12. win10如何局部截图
  13. 常见的tenor操作
  14. 人民币大写数字 C++
  15. 解析SRAM存储容量及基本特点
  16. Visual studio 无法连接网络解决方法
  17. Ubuntu 16.04版本的 网易云音乐 linux 安装包资源以及下载过程
  18. 口袋理财:“来了就是深圳人?”全国均价最高的房租了解一下
  19. Android 4.4 Kit Kat 源码下载
  20. java数组和链表查询效率及增删效率比较

热门文章

  1. ComplexHeatmap()函数解析
  2. python 连接数据库对中文读取超过_python 处理中文 读取数据库输出全是问号
  3. NAR:浙大陈云/马忠华团队揭示病原真菌组蛋白H3K27甲基化识别新机制
  4. TiM:rDNA拷贝数的种内变化影响微生物群落分析吗?
  5. 小米云能同步到华为手机上吗_有没有小米还没涉足的产业?对标百度网盘,小米云盘即将上线...
  6. R语言可视化分面图、假设检验分组t检验、可视化单变量分组分面箱图(faceting bar plot)、添加误差条(error bar)、添加p值、添加抖动数据点(jitter points)
  7. R语言ggplot2可视化:自定义设置连续变量图例(legend)宽度(width)、自定义设置连续变量图例位置(position)、自定义设置连续变量图例连续渐变
  8. R语言使用fs包的file_info函数查看文件元信息(属性信息)、使用file_chmod函数修改文件的权限、使用file_chown函数修改文件的所有者
  9. seaborn箱图(box plot)可视化、并且使用matplotlib的meanprops函数在箱图中自定义均值标签、标签形状、标签大小、标签填充色彩、标签边缘颜色
  10. python使用matplotlib对比多个模型的在训练集上的效果并使用柱状图进行可视化:基于交叉验证的性能均值(mean)和标准差(std)进行可视化分析、使用标准差信息添加误差区间条yerr