Error: The truth value of a series is ambiguous. Python & Pandas

Error: The truth value of a series is ambiguous. Python & Pandas

我正在尝试识别当天交易量超过 10,000 的 MSFT 和 GOOG 的所有期权合约,并打印出 symbol.I 的名称,我收到错误 "The truth value of a series is ambiguous.Use a.empty, a.bool(), a.item(), a.any() or a.all()."错误在第 13 行。非常感谢任何帮助。

from pandas_datareader.data import Options
import pandas as pd
from pandas import DataFrame
import datetime

tickers = ['GOOG','MSFT']


for i in tickers:
    option = Options(i,'yahoo')
    data = option.get_all_data()

    if data.Vol > 10000:
         print data.Symbol

    else:
        pass

问题是条件 (data.Vol > 10000) returns 一个布尔值数组。 NumPy 发出该错误是因为它不知道您是否要问 "are any of these values > x?"、"are all of these values > x?" 等

在这种情况下,您应该使用逻辑索引来获取您感兴趣的行:data[data.Vol > 10000]

从那里,您可以获得所有相关符号:data[data.Vol > 10000].index.get_level_values('Symbol')