我正在使用yfinance获取SP500股票的数据。这是我的密码:
tickers = self.getSP500Tickers() #returns all tickers in SP500 spaced out like "AAPL MSFT CSCO"
data = yf.download(tickers=tickers, period='50m', interval='1m')
该代码本质上起作用并返回:
Adj Close ... Volume
A AAL AAP AAPL ABBV ABC ... XYL YUM ZBH ZBRA ZION ZTS
Datetime ...
2021-07-01 09:50:00-04:00 NaN 21.511200 205.889999 NaN NaN 115.260002 ... NaN NaN 0.0 NaN NaN 0.0
2021-07-01 09:51:00-04:00 148.029999 21.508301 NaN 137.050003 113.290001 115.410004 ... 0.0 0.0 2387.0 NaN 0.0 3208.0
2021-07-01 09:52:00-04:00 148.164993 21.480000 206.225006 136.904999 113.290001 115.510002 ... 541.0 2534.0 2948.0 0.0 NaN 17014.0
2021-07-01 09:53:00-04:00 148.050003 21.549900 206.207504 136.860001 113.320000 115.470001 ... 368.0 2134.0 508.0 382.0 1808.0 4161.0
2021-07-01 09:54:00-04:00 148.050003 21.549999 206.330002 136.679993 113.389999 115.470001 ... 588.0 2887.0 1175.0 5030.0 1120.0 3231.0
2021-07-01 09:55:00-04:00 148.009995 21.514999 206.115005 136.690002 113.410004 115.550003 ... 842.0 7034.0 1109.0 1705.0 2888.0 1687.0
2021-07-01 09:56:00-04:00 148.024994 21.520100 NaN 136.845001 113.404999 115.669998 ... 1164.0 2785.0 254.0 960.0 1104.0 760.0
2021-07-01 09:57:00-04:00 147.970001 21.525000 NaN 136.869995 113.410004 115.519997 ... 628.0 7904.0 2685.0 220.0 1857.0 874.0
2021-07-01 09:58:00-04:00 148.029999 21.545000 NaN 136.919998 113.379997 115.480003 ... NaN 2200.0 1020.0 769.0 1519.0 NaN
如您所见,有许多空值。我希望访问每个股票的最新值,我使用Price = data.tail(1)['Close'].values[0][i]
访问每个股票的迭代器。但是,如果将最新值设置为NaN,则会出现问题,这会干扰我的脚本计算。我是否可以确保将价格设置为最近可用的值?我在想,我们是否可以解析过去的收盘价,直到找到一个非NaN值,然后将其设置为Price。然而,我不确定如何做到这一点
你在找fillnahttps://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.fillna.html
相关问题 更多 >
编程相关推荐