Python Pandas 连接股票数据 returns NaN 值
Python Pandas concat stock data returns NaN values instead
我正在做一个 Python Pandas 项目,但遇到了 concat 部分。
基本上,我检索了以下股票数据
df = data.DataReader(['BAC','C','GS','JPM','MS','WFC'],'morningstar',start,end)
head 显示如下:
df.head()
然后我用pd.concat()
加入他们,并添加如下
的列名
bank_stocks = pd.concat([BAC,C,GS,JPM,MS,WF],axis=1,keys=tickers)
bank_stocks.columns.names = ['Bank Ticker','Stock Info']
但是当我查看 bank_stocks.head()
时,我有很多 NaN 值:
like this
我需要得到的就像this
可能是很简单的东西,但是我是菜鸟,自己想不出来。
任何人都可以给我手吗?谢谢。
您的 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
在您的程序中被定义为包含所有股票代码的列表。
我正在做一个 Python Pandas 项目,但遇到了 concat 部分。 基本上,我检索了以下股票数据
df = data.DataReader(['BAC','C','GS','JPM','MS','WFC'],'morningstar',start,end)
head 显示如下: df.head()
然后我用pd.concat()
加入他们,并添加如下
bank_stocks = pd.concat([BAC,C,GS,JPM,MS,WF],axis=1,keys=tickers)
bank_stocks.columns.names = ['Bank Ticker','Stock Info']
但是当我查看 bank_stocks.head()
时,我有很多 NaN 值:
like this
我需要得到的就像this
可能是很简单的东西,但是我是菜鸟,自己想不出来。 任何人都可以给我手吗?谢谢。
您的 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
在您的程序中被定义为包含所有股票代码的列表。