【发布时间】:2014-04-27 01:37:14
【问题描述】:
试过 iterrows() 很慢,在别处读 zip 会更好,但还是很慢。
我尝试搜索数据框的行,生成一些统计信息来填充两个新的数据框。
有什么建议可以加快数据帧的搜索速度吗?
代码 sn-ps:
for index,date,stocknum in zip(stockpicks.index.values,stockpicks.date.values,stockpicks.stocknum.values):
stock=readStockPrice(stocknum)
if stock.empty:
return print("error - empty frame")
stock=stock.ix[trading_days]
stockprice=stock.Close.values
p0_date=trading_days.get_loc(date)
p0=stockprice[p0_date]
stock_pct_change={('d'+str(d)):stockprice[p0_date+d]/p0*100.0 if (p0_date+d)< len(trading_days) else np.nan for d in days }
b0=hsi[p0_date]
benchmark_pct_change={('d'+str(d)):hsi[p0_date+d]/b0*100.0 if (p0_date+d)< len(trading_days) else np.nan for d in days }
for d in days:
stock_analysis.loc[index,'d'+str(d)]=stock_pct_change['d'+str(d)]
benchmark_analysis.loc[index,'d'+str(d)]=benchmark_pct_change['d'+str(d)]
【问题讨论】:
标签: python-3.x pandas