“ ValueError:系列的真值不明确”

时间:2020-06-26 00:18:46

标签: python pandas

我有以下代码:

import lxml
from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
from pandas_datareader import data as web
import datetime 
import seaborn as sn

df1 = pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')[0]
tickers = df1['Symbol'].values.tolist()
tickers = [x.replace('.', '-') for x in tickers] 
for ticker in tickers:
    df = web.DataReader(ticker, 'yahoo')
    if df['Close'][-2] > df['Open'][-2]:
        fifty_pct = (df['Open'].iloc[-2] + df['Close'].iloc[-2])/2
        if df['Open'][-1] > df['Close'][-1] and df['Close'] < fifty_pct:
            print(ticker)

由于某些原因运行此代码时,出现以下错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

为什么会出现此错误?

1 个答案:

答案 0 :(得分:0)

通过添加any

修改代码
if df['Open'][-1] > df['Close'][-1] and (df['Close'] < fifty_pct).any():