今天跑一些行情数据的检测脚本,对于pandas的小细节又了解了一些,特此用code+comment形式记录一下。毕竟猪脑子要靠烂笔头…
import pandas as pd
df = all_instruments('CS')
df = df[(df.listed_date >= '2018-01-01') & (df.listed_date <= '2018-04-15') ]
testing = []
for i in df.order_book_id:
dated = instruments(i).listed_date
dk = get_price(i,start_date=dated,end_date=dated,adjust_type='none',frequency='1m')[:1]
if dk.values.any():###返回的空dataFrame给剔除了。
#注意以下的true/false比较一定要加.values不然返回pandas的series true/false值。
if (dk.open > dk.high).values or (dk.open < dk.low).values or (dk.close > dk.high).values or (dk.close < dk.low).values:
#print(type(dk.open > dk.high)) #可以用这句查查type的。
dk['order_book_id'] = i #加塞column
testing.append(dk)
final_testing = pd.concat(testing)
final_testing.to_csv('201801-04.csv')