因此,基本上我已经下载了多种股票数据并以CSV格式存储,因此我为此创建了一个函数,并将一个股票名称列表传递给了该用户定义的函数。因此,一个股票数据具有多个列,例如开盘价,收盘价等,所以我要从存储在新数据框中的每个股票df的收盘价列中,将股票名称作为标题转到新数据框中包含收盘价的列
所以我创建了一个用于下载多个股票数据的函数,并传递了一个股票名称列表以获取所需的数据,该函数以CSV格式存储它们 2)然后我尝试创建一个for循环,该循环读取每个股票数据CSV文件,并尝试从每个股票数据框中仅选择平仓列,并将其存储在另一个空数据框中,因此我有一个股票收盘价及其数据的数据框。列标题作为收盘价的股票名称,因此我成功下载了股票数据,但在2部分中失败
stocks = ['MSFT','IBM', 'GM', 'ACN', 'GOOG']
end=datetime.datetime.now().date()
start=end-pd.Timedelta(days=365*5)
def hist_data(stocks):
stock_df=web.DataReader(stocks,'iex',start,end)
stock_df['Name']=stocks
fileName=stocks+'_data.csv'
stock_df.to_csv(fileName)
with futures.ThreadPoolExecutor(len(stocks)) as executor:
result=executor.map(dwnld_data,stocks)
print('completed')
#failing in the code below
close_prices = pd.DataFrame()
for i in stocks:
df = pd.read_csv(i + '_data.csv')
df1 = df['close']
close_prices.append(df1)
#so when I try to print close_prices I get blank output
答案 0 :(得分:0)
尝试以下操作:
close_prices = pd.DataFrame()
for i in stocks:
df = pd.read_csv(i + '_data.csv')
close_prices[i] = df['close']