我正在研究一个Python Pandas项目,并陷入了concat部分。 基本上,我已经按照以下方式检索了库存数据
Original {'y': 'XXXX', 'm': '01'}
Updated {'y': '2018', 'm': '01'}
String 2018-01
head显示如下: df.head()
然后,我使用df = data.DataReader(['BAC','C','GS','JPM','MS','WFC'],'morningstar',start,end)
来加入它们,并使用以下内容添加列名
pd.concat()
但是当我看着bank_stocks = pd.concat([BAC,C,GS,JPM,MS,WF],axis=1,keys=tickers)
bank_stocks.columns.names = ['Bank Ticker','Stock Info']
时,我有很多NaN值:
我需要得到的就像this
这可能很简单,但是作为一个菜鸟,我自己无法弄清楚。 有人可以帮我吗?谢谢。
答案 0 :(得分:1)
您的concat语句中有问题。您需要传递希望串联的单个数据帧。根据您的要求,您需要为每个代码连接信息,因此每个代码代表一个需要连接的数据帧。
正确的语法为:
pd.concat([df.loc['BAC'],df.loc['C'],df.loc['GS'],df.loc['JPM'],df.loc['MS'],df.loc'WF']],axis=1,keys=tickers)
我相信tickers
在您的程序中定义为包含所有股票代码的一些列表。