Pandas對行情資料的預處理

2022-04-03 20:28:09 字數 934 閱讀 8549

庫里是過去抓取的**資料,間隔6秒,每分鐘8-10個資料不等,還有開盤前後的一些資料,用pandas可以更加優雅地進行處理。

需要把當前時間設定為index

df=df.set_index('time') #設定時間為索引字段
但是還是字串,需要改為datetime型別:

ii=[datetime.strptime(idx,'%y-%m-%d %h:%m:%s') for idx in df['time']] #索引列

df['newc']=ii

df=df.set_index('newc')

這樣就得到datetime型別的index了,要保留分鐘的資料,有兩個方法,重新取樣或者分組。

重取樣:

fz=df.resample('t')

pr=fz['price'].mean()

am=fz['amount'].max()

分組:

df=df.groupby(lambda x:x.minute).mean()
或者直接用字串進行分組,同時對**取平均值,對成交量取最大值:

df=df.groupby(lambda x:x[:16])

pr=df['price'].mean()

am=df['amount'].max()

對於分組/取樣結果,還可以用ohlc方法,很酷:

對比起來,用時間索引重取樣的方式,可能更加靈活。因為諸如1分鐘、5分鐘、10分鐘、半小時等各種時間節點,可以快速表示無需複雜的**。

pandas資料預處理 缺失值

缺失值的分類 按照資料缺失機制可分為 不可忽略的缺失 non ignorable missing nim 或非隨機缺失 not missing at random,nmar,or,missing not at random,mnar 如果不完全變數中資料的缺失既依賴於完全變數又依賴於不完全變數本身,...

pandas資料預處理與透視表

importpandasaspd importnumpyasnp titanic survival pd.read csv titanic train.csv 統計age 列有多少值為空 age titanic survival age age is null pd.isnull age age n...

基於pandas進行資料預處理

參加kaggle資料探勘比賽,就第乙個賽題titanic的資料,學習相關資料預處理以及模型建立,本部落格關注基於pandas進行資料預處理過程。包括資料統計 資料離散化 資料關聯性分析 import pandas as pd import numpy as np train df pd.read c...