首页 文章

系列的真值是模棱两可的 . 使用a.empty,a.bool(),a.item(),a.any()或a.all()

提问于
浏览
0

我的输入是,数据输入在顶部

Date        Time    Open    High    Low    Close    Volume
02/01/2015  14:30   79.52   79.73   79.52   79.71   10841
02/01/2015  14:31   79.6999 79.6999 79.61   79.67   1426
02/01/2015  14:32   79.69   79.7    79.69   79.7    800
02/01/2015  14:33   79.7    79.759  79.7    79.759  1158
02/01/2015  14:34   79.747  79.747  79.73   79.73   1125
02/01/2015  14:35   79.73   79.73   79.71   79.71   301
02/01/2015  14:36   79.8    79.82   79.75   79.82   7818
02/01/2015  14:37   79.82   79.83   79.778  79.82   6985
02/01/2015  14:38   79.8099 79.8099 79.72   79.72   1026
02/01/2015  14:39   79.77   79.78   79.7396 79.78   870
02/01/2015  14:40   79.79   79.79   79.73   79.73   12031
02/01/2015  14:41   79.76   79.76   79.6901 79.736  4642
02/01/2015  14:42   79.7301 79.744  79.7301 79.744  1099


numRow = 1
endRow = 50
dHaGreen0 = {}
for ticker in Index_tickers.ticker:
    index_data = pd.read_csv('C:\\Users\\me\\Dropbox\\MktData\\Index_list\\' +     ticker + '_' + str(timeFrame) + '.csv')
    open0 = index_data.Open
    close0 = index_data.Close
    high0 = index_data.High
    low0 = index_data.Low
    dHaClose0 = (open0 + high0 + low0 + close0) / 4 
    dHaOpen0 = (dHaClose1 + dHaOpen1) / 2
    dHaGreen0 = dHaClose0 >= dHaOpen0

        if numRow < endRow:
            dOpen0 = index_data.ix[numRow, index_data.Open]

            if dHaGreen0 == True & dHaGreen1 == True:
                dPosition = "Long"
            numRow = numRow + 1

当我打印dHaGreen0时,它返回一个bool列表和“dtype:bool” . 但是当我在if语句中使用dHaGreen0时,我得到错误ValueError:Series的真值是不明确的 . 使用a.empty,a.bool(),a.item(),a.any()或a.all() .

我已经检查了之前问题的许多建议答案,但无法阅读 . 所有回复都非常感谢 .

1 回答

  • 1

    你看到的错误是正确的 . dHaGreen0是一组bool值 . 当您询问“dHaGreen0 == True”时,您需要决定以下两种解释之一:

    你是说dHaGreen0是真的有什么 Value 吗?如果是这样,请将"dHaGreen0 == True"替换为"any(dHaGreen0) == True" .

    或者你的意思是如果dHaGreen0中的所有值都是真的吗?如果是,请将"dHaGreen0 == True"替换为"all(dHaGreen0) == True" .

    同样适用于dHaGreen1

    如果您尝试为每对执行此操作:

    dPosition = dHaGreen0 & dHaGreen1
    

    然后,这将为您提供一组布尔值,给出每对的结果 .

相关问题