您好,登錄后才能下訂單哦!
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))
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。