使用Pandas Concat时数据框中的数据丢失

时间:2019-06-27 22:10:16

标签: python-3.x pandas

我下面有一个简单的代码,可以从Yahoo Finance获取财务信息。

在下面显示的循环中,在循环的最后,我尝试将熊猫数据框并置在一起。

当我尝试打印输出时,很容易缺少一些输出。列表上的第二项是“ VOO”,我应该在那里获取数据。我不知道我在做什么错。请帮忙。谢谢。


import yfinance as yf
import pandas as pd

urls=[
'AAPL',
'voo',
'msft'
    ]

tickerArray2 = pd.DataFrame()

for url in urls:
    tickerTag = yf.Ticker(url)
    tickerArray = tickerTag.actions
    tickerArray['ticker'] = url
    pdArray = pd.DataFrame(tickerArray)
    tickerArray2 = pd.concat([tickerArray2,tickerArray])

print(tickerArray2)

输出应如下所示: (由于某种原因,我丢失了一堆数据,尤其是带有VOO的数据)​​

            Dividends  Stock Splits ticker
Date                                      
1987-05-11    0.00214           0.0   AAPL
1987-06-16    0.00000           2.0   AAPL
1987-08-10    0.00214           0.0   AAPL
...               ...           ...    ...
2012-02-14    0.20000           0.0   VOO
2012-05-15    0.20000           0.0   VOO
2012-08-14    0.20000           0.0   VOO
...               ...           ...    ...
2012-02-14    0.20000           0.0   msft
2012-05-15    0.20000           0.0   msft
2012-08-14    0.20000           0.0   msft

1 个答案:

答案 0 :(得分:0)

我怀疑您将错误的对象传递给concat。我会将concat行更改为:

tickerArray2 = pd.concat([tickerArray2,pdArray])