计算不适用于熊猫数据框

时间:2019-07-22 20:07:55

标签: python pandas dataframe

我正在使用如下数据框。

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

您能告诉我如何处理数据框以显示我想要的吗? 预先感谢。

0 个答案:

没有答案