我正在使用如下数据框。
df.head()
Out[20]:
Date Price Open High ... Vol. Change % A Day % OC %
0 2016-04-25 9577.5 9650.0 9685.0 ... 306230.0 -0.83 1.79 -0.75
1 2016-04-26 9660.0 9567.5 9695.0 ... 389490.0 0.86 1.52 0.97
2 2016-04-27 9627.5 9660.0 9682.5 ... 277940.0 -0.34 1.02 -0.34
3 2016-04-28 9595.0 9625.0 9667.5 ... 75120.0 -0.34 1.36 -0.31
4 2016-04-29 9532.5 9567.5 9597.5 ... 138340.0 -0.65 0.73 -0.37
我在某些条件下将其切成薄片。结果,我得到了一个切片索引列表con_down_success
,其长度为96。
我还列出了
con_down_success_D1 = [x+1 for x in con_down_success]
我想做的是下面的
df.iloc[con_down_success_D1,:].Low/df.iloc[con_down_success,:].Price
该代码应该显示计算所得的序列,但是NaN太多,如下所示。
(df.iloc[con_down_success_D1,:].Low/df.iloc[con_down_success,:].Price).tail(12)
Out[26]:
778 0.995716
779 NaN
787 NaN
788 NaN
794 NaN
795 NaN
821 NaN
822 NaN
827 NaN
828 NaN
830 NaN
831 NaN
两个系列中的所有数字均具有实际数字,而不是NaN或NA。例如,下面没有问题。
df.iloc[831,:].Low/df.iloc[830,:].Price
Out[18]: 0.9968354430379747
您能告诉我如何处理数据框以显示我想要的吗? 预先感谢。