python 数据提取及拆分的实现代码

K线数据提取

依据原有数据集格式,按要求生成新表:

1、每分钟的close数据的第一条、最后一条、最大值及最小值,

2、每分钟vol数据的增长量(每分钟vol的最后一条数据减第一条数据)

3、汇总这些信息生成一个新表

(字段名:[‘time',‘open',‘close',‘high',‘low',‘vol'])

import pandas as pd
import time
start=time.time()
df=pd.read_csv('data.csv')
df=df.drop('id',axis=1)    #删除id列
df1=pd.DataFrame(columns=['time','open','close','high','low','vol'])#新建目标数据表

for i in df.groupby('time'):   #按时间分组
  new_df=pd.DataFrame(columns=['time','open','close','high','low','vol']) #新建空表用于临时转存要求数据
  new_df.time=i[1].time[0:1]  #取每组时间为新表时间
  new_df.open=i[1].close[0:1]  #取每组第一个close数据为新表open数据
  new_df.close=i[1]['close'].iloc[-1]  #取每组最后一个close数据为新表close数据
  new_df.high=i[1]['close'].max()  #取每组close数据最大值为新表hige数据
  new_df.low=i[1]['close'].min()  #取每组close数据最小值为新表low数据
  new_df.vol=i[1]['vol'].iloc[-1] - i[1]['vol'].iloc[0] #用每组vol数据最大值减去最小值为新表vol数据
  df1=pd.concat([new_df,df1],axis=0)  #纵向合并数据到目标数据表

df2=df1.sort_values('time')  #按time列值进行排序
df2.reset_index(inplace=True, drop=True)  #重置行索引
print(df2)  #打印目标数据表
stop=time.time()  #查看耗时
print('共计耗时:{}秒'.format(stop-start))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 利用python对Excel中的特定数据提取并写入新表的方法

    最近刚开始学python,正好实习工作中遇到对excel中的数据进行处理的问题,就想到利用python来解决,也恰好练手. 实际的问题是要从excel表中提取日期.邮件地址和时间,然后统计在一定时间段内某个人在某个项目上用了多少时间,最后做成一张数据透视表(这是问题的大致意思). 首先要做的就是数据提取了,excel中本身有一个text to column的功能,但是对列中规律性不好的数据处理效果很差,不能分割出想要的数据,所以我果断选择用python来完成. 要用的库一个是对excel读写处理

  • python 将json数据提取转化为txt的方法

    如下所示: #-*- coding: UTF-8 -*- import json import pymysql import os import sys # 数据类型 # { # "name": "score.networkQuality", # "index": true, # "view": "app/views/score/networkQuality.tmpl.html", # "file

  • Python进行数据提取的方法总结

    准备工作 首先是准备工作,导入需要使用的库,读取并创建数据表取名为loandata. import numpy as np import pandas as pd loandata=pd.DataFrame(pd.read_excel('loan_data.xlsx')) 设置索引字段 在开始提取数据前,先将member_id列设置为索引字段.然后开始提取数据. Loandata = loandata.set_index('member_id') 按行提取信息 第一步是按行提取数据,例如提取某个

  • python 数据提取及拆分的实现代码

    K线数据提取 依据原有数据集格式,按要求生成新表: 1.每分钟的close数据的第一条.最后一条.最大值及最小值, 2.每分钟vol数据的增长量(每分钟vol的最后一条数据减第一条数据) 3.汇总这些信息生成一个新表 (字段名:['time','open','close','high','low','vol']) import pandas as pd import time start=time.time() df=pd.read_csv('data.csv') df=df.drop('id'

  • Python数据提取-lxml模块

    知识点: 了解lxml模块和xpath语法的关系: 了解lxml模块的使用场景: 了解lxml模块的安装: 了解 谷歌浏览器xpath helper插件的安装和使用: 掌握xpath语法-基础节点选择语法: 掌握 xpath语法 -节点修饰语法: 掌握xpath语法 - 其他常用语法: 掌握 lmxl模块中使用xpath语法定位元素提取数学值或文本内容: 掌握lxml模块etree.tostring函数的使用: 1.了解lxml模块和xpath语法 对html或xml形式的文本提取特定的内容,就

  • python数据抓取分析的示例代码(python + mongodb)

    本文介绍了Python数据抓取分析,分享给大家,具体如下: 编程模块:requests,lxml,pymongo,time,BeautifulSoup 首先获取所有产品的分类网址: def step(): try: headers = { ..... } r = requests.get(url,headers,timeout=30) html = r.content soup = BeautifulSoup(html,"lxml") url = soup.find_all(正则表达式

  • 利用python脚本提取Abaqus场输出数据的代码

    笔者为科研界最后的摆烂王,目前利用python代码对Abaqus进行二次开发尚在学习中.欢迎各位摆烂的仁人志士们和我一起摆烂!ps:搞什么科研,如果不是被逼无奈,谁要搞科研! 该代码是学习过程中,对前人已有工作所做的稍加修改.为什么是稍加修改,是因为原代码跑不出来!!笔者在提取场输出的位移数据时,渴望偷懒,打算百度一下草草了事,奈何发现网上代码多半驴头不对马嘴,笔者明明是想提取位移,而不是节点和单元的集合!!所以被逼无奈之下,只好硬着头皮修改!欢迎各位大佬们把小弟代码更优化,然后也发给小弟,让小

  • Python实现提取Excel指定关键词的行数据

    目录 一.需求描述 1.图片展示 2.提取方法 二.python提取第二版 1.图片展示 2.提取方法 一.需求描述 1.图片展示 从如图所示的数据中提取含有"python"."ubuntu"关键词的所有行数据,其它的不提取: 备注: 关键词和数据行列数可自定义!!! 提取前: 提取后: 2.提取方法 代码如下(示例): import xlrd import xlwt data = xlrd.open_workbook(r'shuju.xlsx') rtable =

  • Python探针完成调用库的数据提取

    目录 1.简单粗暴的方法--对mysql库进行封装 2.Python的探针 3.制作探针模块 4.直接替换方法 5.总结 1.简单粗暴的方法--对mysql库进行封装 要统计一个执行过程, 就需要知道这个执行过程的开始位置和结束位置, 所以最简单粗暴的方法就是基于要调用的方法进行封装,在框架调用MySQL库和MySQL库中间实现一个中间层, 在中间层完成耗时统计,如: # 伪代码 def my_execute(conn, sql, param): # 针对MySql库的统计封装组件 with M

  • Python如何提取csv数据并筛选指定条件数据详解

    目录 前言 一.使用pandas和numpy库 二.使用步骤 1.引入库 2.读入数据 3.转化格式 4.处理数据 总结 前言 本文主要介绍通过Python提取csv文件中数据,并对数据进行处理. 编译器:Anaconda3 语言:Python3 一.使用pandas和numpy库 通过pandas库可以从csv提取到数据,但是数据的格式是DateFrame 格式,因为我不懂怎么处理DateFrame 格式的数据,所以就使用numpy库,将提取的数据转化为数组格式,这样可以就可以通过对数组的处理

  • python 把数据 json格式输出的实例代码

    有个要求需要在python的标准输出时候显示json格式数据,如果缩进显示查看数据效果会很好,这里使用json的包会有很多操作 import json date = {u'versions': [{u'status': u'CURRENT', u'id': u'v2.3', u'links': [{u'href': u'http://controller:9292/v2/', u'rel': u'self'}]}, {u'status': u'SUPPORTED', u'id': u'v2.2'

随机推荐