我目前有一个Pandas Dataframe,在我的第一列有很多股票行情。他们是时间序列,所以每个股票代码出现不止一次。在我的第二列,我有一个CUSIP代码,但这个代码只出现在行的股票出现第一次,所有接下来的行不包含这个CUSIP代码。我希望在所有匹配同一股票的列中都有相同的CUSIP代码。这是我的数据框的样子,我希望所有的NaN都填入正确的CUSIP,这样你就会得到下面的数据框。
MSFT.OQ 594918104 FY2019 55252000000 United States USA 1
MSFT.OQ NaN FY2018 44501000000 United States USA 1
MSFT.OQ NaN FY2017 42730000000 United States USA 1
MSFT.OQ NaN FY2016 25145000000 United States USA 1
EFT_pa^E08 449515402 FY2001 6642000 United States USA 1
EFT_pa^E08 NaN FY2000 12161000 United States USA 1
EFT_pa^E08 NaN FY1999
MSFT.OQ 594918104 FY2019 55252000000 United States USA 1
MSFT.OQ 594918104 FY2018 44501000000 United States USA 1
MSFT.OQ 594918104 FY2017 42730000000 United States USA 1
MSFT.OQ 594918104 FY2016 25145000000 United States USA 1
EFT_pa^E08 449515402 FY2001 6642000 United States USA 1
EFT_pa^E08 449515402 FY2000 12161000 United States USA 1
EFT_pa^E08 449515402 FY1999
使用 ffill
- 使用指定的正向方法填充NANaN值。
>>> df.ffill()
0 1 2 3 4 5 6 7
0 MSFT.OQ 594918104.0 FY2019 5.525200e+10 United States USA 1.0
1 MSFT.OQ 594918104.0 FY2018 4.450100e+10 United States USA 1.0
2 MSFT.OQ 594918104.0 FY2017 4.273000e+10 United States USA 1.0
3 MSFT.OQ 594918104.0 FY2016 2.514500e+10 United States USA 1.0
4 EFT_pa^E08 449515402.0 FY2001 6.642000e+06 United States USA 1.0
5 EFT_pa^E08 449515402.0 FY2000 1.216100e+07 United States USA 1.0
6 EFT_pa^E08 449515402.0 FY1999 1.216100e+07 United States USA 1.0