python 數(shù)據(jù)提取及拆分的實現(xiàn)代碼
K線數(shù)據(jù)提取

依據(jù)原有數(shù)據(jù)集格式,按要求生成新表:
1、每分鐘的close數(shù)據(jù)的第一條、最后一條、最大值及最小值,
2、每分鐘vol數(shù)據(jù)的增長量(每分鐘vol的最后一條數(shù)據(jù)減第一條數(shù)據(jù))
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'])#新建目標數(shù)據(jù)表
for i in df.groupby('time'): #按時間分組
new_df=pd.DataFrame(columns=['time','open','close','high','low','vol']) #新建空表用于臨時轉(zhuǎn)存要求數(shù)據(jù)
new_df.time=i[1].time[0:1] #取每組時間為新表時間
new_df.open=i[1].close[0:1] #取每組第一個close數(shù)據(jù)為新表open數(shù)據(jù)
new_df.close=i[1]['close'].iloc[-1] #取每組最后一個close數(shù)據(jù)為新表close數(shù)據(jù)
new_df.high=i[1]['close'].max() #取每組close數(shù)據(jù)最大值為新表hige數(shù)據(jù)
new_df.low=i[1]['close'].min() #取每組close數(shù)據(jù)最小值為新表low數(shù)據(jù)
new_df.vol=i[1]['vol'].iloc[-1] - i[1]['vol'].iloc[0] #用每組vol數(shù)據(jù)最大值減去最小值為新表vol數(shù)據(jù)
df1=pd.concat([new_df,df1],axis=0) #縱向合并數(shù)據(jù)到目標數(shù)據(jù)表
df2=df1.sort_values('time') #按time列值進行排序
df2.reset_index(inplace=True, drop=True) #重置行索引
print(df2) #打印目標數(shù)據(jù)表
stop=time.time() #查看耗時
print('共計耗時:{}秒'.format(stop-start))

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python3實現(xiàn)將一維數(shù)組按標準長度分隔為二維數(shù)組
今天小編就為大家分享一篇Python3實現(xiàn)將一維數(shù)組按標準長度分隔為二維數(shù)組,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
基于python3 OpenCV3實現(xiàn)靜態(tài)圖片人臉識別
這篇文章主要為大家詳細介紹了基于Python3 OpenCV3實現(xiàn)靜態(tài)圖片人臉識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
win10下安裝Anaconda的教程(python環(huán)境+jupyter_notebook)
Anaconda指的是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學包及其依賴項。這篇文章主要介紹了win10下安裝Anaconda(python環(huán)境+jupyter_notebook),需要的朋友可以參考下2019-10-10
python 拷貝特定后綴名文件,并保留原始目錄結(jié)構(gòu)的實例
下面小編就為大家分享一篇python 拷貝特定后綴名文件,并保留原始目錄結(jié)構(gòu)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04

