【Pandas细节】DataFrame的append,真假判断,剔除空DataFrame

今天跑一些行情数据的检测脚本,对于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')

你可能感兴趣的:(Python,pandas,DataFrame)