Python 如何进行远程数据访问(从股票市场)并将它们合并到单个数据帧中?
我试着从晨星公司获取数据并合并不同的股票,但我不知道如何正确地合并数据。我想按日期组织它,但它只是将数据堆叠在彼此的顶部Python 如何进行远程数据访问(从股票市场)并将它们合并到单个数据帧中?,python,pandas,dataframe,matplotlib,join,Python,Pandas,Dataframe,Matplotlib,Join,我试着从晨星公司获取数据并合并不同的股票,但我不知道如何正确地合并数据。我想按日期组织它,但它只是将数据堆叠在彼此的顶部 print('test') print('testing') #this program will read data from morningstar and interpret them using pandas import pandas as pd import datetime import numpy as np import matplotlib.pylab
print('test')
print('testing')
#this program will read data from morningstar and interpret them using pandas
import pandas as pd
import datetime
import numpy as np
import matplotlib.pylab as plt
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader.data as web
start = datetime.datetime(2010,1,1) #datetime is (year, month, day)
end = datetime.date.today()
#Getting data from morningstar
microsoft = pd.DataFrame(web.DataReader("MSFT", "morningstar", start, end))
apple = pd.DataFrame(web.DataReader("AAPL","morningstar", start, end))
google = pd.DataFrame(web.DataReader("GOOG", "morningstar", start, end))
stocks = pd.DataFrame({"MSFT": microsoft["Volume"],
"AAPL": apple["Volume"],
"GOOG": google["Volume"]})
print(stocks)
基本上,我希望数据如下所示:
stock1 stock2 stock3
date1 123 345 234
date2 657 294 553
date3 786 321 933
但结果却是这样的:
stock1 stock2 stock3
date1 123 NaN NaN
date2 657 NaN NaN
date3 786 NaN NaN
date1 NaN 345 NaN
date2 NaN 294 NaN
date3 NaN 321 NaN
date1 NaN NaN 234
date2 NaN NaN 553
date3 NaN NaN 933
创建新数据帧时,可以在末尾添加
reset\u index
stocks = pd.DataFrame({"MSFT": microsoft["Volume"].reset_index(level=0,drop=True),
"AAPL": apple["Volume"].reset_index(level=0,drop=True),
"GOOG": google["Volume"].reset_index(level=0,drop=True)})
我想是这样的。谢谢