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))
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
