python 数据归一化,快速实现时间序列数据归一化
快速实现时间序列数据归一化
背景描述
50M的时间序列数据,做归一化,做了一天一夜,我的笔记本CPU还可以,8G内存。网上找了一些,基本方法和我的一致,要么是for循环,要么,写个函数,大致也要用for循环。有比较高明一点的,只是事先把最大最小值先算出来。提升了一小丢丢速度,本质上没啥子变化。
Numpy库的特点
就是并行,为啥pandas读取完的数据还要使用for循环来做呢?至少自己怀疑Python没学好。不认头,于是琢磨出下面方法,5分钟搞定数据归一化。闲话少说,直接上代码。
借助Pandas快速实现归一化
首先导入数据
数据下载链接:
https://download.csdn.net/download/weixin_45341568/12736595
导入数据包
import numpy as np
import pandas as pd
import datetime
读取数据,并对数据做处理,将日期和时间作为多重索引
ts_x = pd.read_csv('./data/original_data/1min.csv',parse_dates=[0,1],usecols=[0,1,3])
ts_x.time = ts_x.time.apply(lambda x: datetime.datetime.strftime(x, '%H:%M:%S'))
ts_x.set_index(['date', 'time'], inplace=True)
对数据进行堆叠操作,并删除多余列索引。
多余的列索引是由于堆叠操作产生
ts_x = ts_x.unstack()
ts_x.columns = ts_x.columns.droplevel()
然后用下面一行代码就可以做归一化操作了,这里做个提示,pandas中的df.min()这个函数默认是对每列求最小值,通过设置参数,可以变更为对每行求最小值。
df_norm = ts_x.apply(lambda x: (x-ts_x.min(1))/(ts_x.max(1)-ts_x.min(1)))
就这么简单,就完成了数据的归一化操作。总共用时不超过5分钟。
原文链接:https://blog.csdn.net/weixin_45341568/article/details/108144610
python 数据归一化,快速实现时间序列数据归一化相关推荐
- ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码
ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码 目录 特殊类型数据分割 5.1.时间序列数据分割TimeSeriesSplit 特殊类型数据分割 ...
- R语言时间序列数据可视化: 使用plot函数可视化单序列时间序列数据、多序列时间序列数据并指定不同时间序列的线条类型(lty)
R语言时间序列数据可视化: 使用plot函数可视化单序列时间序列数据.多序列时间序列数据并指定不同时间序列的线条类型(lty) 目录
- python标准化_如何在Python中规范化和标准化时间序列数据
最低日温度 该数据集显示了一个强大的季节要素,并有一个很好的,细致的细节工作. 本教程假定数据集位于当前工作目录中,文件名为 " daily-minimum-temperatures-in- ...
- 【大数据】快速了解大数据计算服务
什么是大数据计算服务: 大数据计算服务(MaxCompute,原名ODPS)是一种快速.完全托管的EB级数据仓库解决方案. 当今社会数据收集手段不断丰富,行业数据大量积累,数据规模已增长到了传统软件行 ...
- mysql 复制数据_MySQL快速复制数据库数据表的方法
某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库.使用以下方法,可以非常简单地实现. 假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb.步骤如 ...
- Python Celery异步快速下载股票数据!炒股还怕输吗?
上一篇股票文章中,我们讲了如何通过tushare下载股票数据,并存入mongodb: Python 获取股票数据并存入MongoDB实战教程 其中有非常大的优化空间,比如,单线程的下载速度太慢了,能不 ...
- easyexcel导入时读不到数据_EasyExcel快速读写Excel数据
Java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有 ...
- 龙族幻想导入数据id_龙族幻想:一键捏脸数据ID 快速捏脸数据ID汇总分享
点击上方 轻松关注 阅读本文前,请您先点击上面的蓝色字体"猫猫说搞笑",再点击"关注",这样您就可以继续免费收到最新文章了.每天都有分享.完全是免费订阅,请放 ...
- mysql导入大量数据_mysql快速导入大量数据问题
思路一: 今天需要把将近存有一千万条记录的*.sql导入到mysql中.使用navicate导入,在导入100万条之后速度就明显变慢了, 导入五百万条数据的时候用了14个小时,且后面的数据导入的越来越 ...
最新文章
- 多线程的创建方式---继承Thread和实现Runnable
- 类加载器 jboss_JBoss AS 7类加载说明
- python_GUI操作(鼠标、键盘)
- 如果你也在学python,准备要学习python,希望这篇文章对你有用。
- a推b等价于非a或b_分级基金谢幕倒计时 警惕分级B高溢价风险
- 图片配置文件设置 索尼a7s2_一招让索尼相机直出电影机色彩
- 数据库设计-逻辑结构设计
- FLASH学习(一)
- MSP430G2553学习笔记
- 第六届北大CIO班结业暨SOA与BPM论坛成功举办
- 筋膜枪方案-无刷马达方波运用1
- 负折射率波导matlab,介质波导的数值模拟
- IDEA 2018.3.6 修改背景图片
- linux wifi6,iPhone11支持WiFi6是什么意思 WiFi 6是什么东西
- office2010 安装时,报错:1920 未能启动服务 “Office Software Protection Platform”(osppsvc)...终极解决方案
- application.properties详解 --springBoot配置文件
- web架构中的前置机
- pdf文件两栏内容提取信息思路
- 文件搜素神器Everything技巧总结
- 神舟电脑独显直连怎么开?