我有以下代码:
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().
为什么会出现此错误?
答案 0 :(得分:0)
通过添加any
if df['Open'][-1] > df['Close'][-1] and (df['Close'] < fifty_pct).any():