Python股票历史数据预处理(二)

Python股票历史数据预处理(二)

       从网上下载的股票历史数据往往不能直接使用,需要转换为自己所需要的格式。下面以Python代码编程为工具,将csv文件中存储的股票历史数据提取出来并处理。处理的数据结果为是30天涨跌幅子数据库,下载地址为:http://download.csdn.net/detail/suiyingy/9688605。

主要步骤有(Python csv数据读写):

  • #csv文件读取股票历史涨跌幅数据;
  • #随机选取30个历史涨跌幅数据;
  • #构建自己的数据库;
  • #将处理结果保存为新的csv文件。

具体代码如下:

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 17 23:04:33 2016
csv格式股票历史涨跌幅数据处理
@author: yehxqq1513760265
"""


import numpy  as np
import pandas  as pd
import  random
import  csv
import  sys
reload ( sys )
sys. setdefaultencoding ( 'utf-8' )

'''
    - 加载csv格式数据
'''

def loadCSVfile1 (datafile ):
    filelist  =  [ ]
     with  open (datafile )  as  file:
        lines  =  csv. reader ( file )
         for oneline  in lines:
            filelist. append (oneline )
    filelist  = np. array (filelist )
     return filelist

#数据处理
#随机选取30个历史涨跌幅数据
#构建自己的数据库
    
def dataProcess (dataArr , subLen ):
    totLen , totWid  = np. shape (data )
     print totLen , totWid
    lenArr  = dataArr [totLen- 1 , 2:totWid ]
    columnCnt  =  1
    dataOut  =  [ ]
     for lenData  in lenArr:
        columnCnt  = columnCnt +  1
        N60  =  int (lenData ) /  ( 2 * subLen )
         print N60
         if N60  >  0:
            randIndex  =  random. sample ( range (totLen- int (lenData )- 1 ,totLen-subLen ) , N60 )
             for i  in randIndex:
                dataOut. append (dataArr [i: (i+subLen ) ,columnCnt ] )
    dataOut  = np. array (dataOut )
    
     return dataOut




if __name__ == "__main__":
    datafile  =  "00100 (3).csv"
    data  = loadCSVfile1 (datafile ) 
    df  = pd. DataFrame (data )
    m , n  = np. shape (data )
    dataOut  = dataProcess (data ,  30 )
    m , n  = np. shape (dataOut )
     #保存处理结果
    csvfile  =  file ( 'csvtest.csv' ,  'wb' )
    writer  =  csv. writer (csvfile )
    writer. writerows (dataOut )
    csvfile. close ( )
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coding的叶子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值