我使用以下方法在我的数据框中填充一列来自Quandl的价格: 作为pd进口熊猫
dict1 = [
{'Date': '2016-11-27','Ticker': 'AAPL'},
{'Date': '2016-11-28','Ticker': 'MSFT'},
]
data= pd.DataFrame(dict1)
data['Date'] = pd.to_datetime(data['Date'])
data['close-0'] = data.apply(lookup_close, axis='columns', args=('Ticker','Date',))
其中,lookup_close定义为:
def lookup_close(row, tickerColumn, dateColumn):
try:
ticker=row['Ticker'][:-3]
start_date=row[dateColumn]
end_date=row[dateColumn]
price = quandl.get('WIKI/'+ticker, start_date=start_date, end_date=end_date)['Adj. Close'].values[0]
return price
except:
return np.nan
这种方法很有效,但对于大型数据帧来说,速度比我上面的例子慢得多。有人能提出一种方法来加快这一进程吗
请注意
WIKI
在Quandl中似乎不受欢迎Here它说这就是说,假设您可以从
WIKI
数据集迁移出数据,我发现创建Quandl数据集的本地转储并从本地文件执行数据帧查找要快得多。不幸的是,对于WIKI
,似乎latest_full_data
不再可用一旦有了感兴趣的股票代码的本地.csv,就可以将其加载到dataframe中,并使用pandas
merge
、merge_asof
或join
进行查找相关问题 更多 >
编程相关推荐