我试图下载多个股票股息金额和各自的日期使用yfinance
包,并试图将其保存在一个python Dataframe 。
我使用以下代码
import yfinance as yf
data = pd.DataFrame()
stock_list = ['MSFT','GOOG','AAPL']
start = '2019-10-1'
end = '2020-10-30'
for i in stock_list:
data[i]= yf.Ticker(i).dividends.loc[start:end]
但我得到的是
MSFT GOOG AAPL
Date
2019-11-20 0.51 NaN NaN
2020-02-19 0.51 NaN NaN
2020-05-20 0.51 NaN NaN
2020-08-19 0.51 NaN NaN
如果我将stock_list中的股票头寸更改为(AAPL在前,MSFT在后)
stock_list = ['AAPL','GOOG','MSFT']
我得到了这个:
AAPL GOOG MSFT
Date
2019-11-07 0.1925 NaN NaN
2020-02-07 0.1925 NaN NaN
2020-05-08 0.8200 NaN NaN
2020-08-07 0.2050 NaN NaN
我认为数据框架为第一只股票设定了日期,因为后续股票没有必要在同一日期支付股息,所以它显示为NaN。
我将感谢任何帮助,以获得所有股息在一个给定的时期内为一长串的股票。
2条答案
按热度按时间e4yzc0pl1#
你可以使用
pd.concat
。你可以观察到,股息日期是不同的,这就是为什么你只得到第一列的真实的值。zengzsys2#
由于首次收购日期与首次发行日期合并,因为每次发行的股息日期不同,因此可以使用
pd.concat()
查看列表。