我正在用python编写一个程序,它要求用户选择5个符号。用户选择五个符号后,程序将提供各种输出。
该程序目前的工作方式是创建五个唯一命名的熊猫数据帧,然后将它们连接到一个帧中,如下所示。
data1 = pdr.DataReader(symbol, 'iex', start, end)
data2 = pdr.DataReader(symbol, 'iex', start, end)
data3 = pdr.DataReader(symbol, 'iex', start, end)
data4 = pdr.DataReader(symbol, 'iex', start, end)
data5 = pdr.DataReader(symbol, 'iex', start, end)
我想改进程序,这样用户可以选择任何数量的股票,程序将建立一个熊猫数据框架。我认为它类似于SQL数据库中的追加查询。对于这个问题,我将保持符号列表的静态大小。
import pandas
import pandas_datareader as pdr
from datetime import datetime
start = datetime(2018, 5, 1)
end = datetime(2018, 5, 31)
symbol_list = ['IVV', 'EWH', 'INDY', 'EWG', 'ENZL']
for symbols in Symbol_List:
symbol = symbols
data = pdr.DataReader(symbol, 'iex', start, end)
在此处添加一些内容以将新数据附加到主数据框中。
附加将需要重写列名以包含符号,为新数据添加列,并确保数据索引对齐。
我在想:
data.rename(columns={'high': 'high' + symbol, 'low': 'low' + symbol}, inplace=True)
pd.merge(masterdata, data, on='index')