【发布时间】:2023-03-29 14:55:01
【问题描述】:
我将使用 python 构建一个简单的股票筛选器。筛选器应收到音量和平均值。来自不同股票的交易量应该列出所有交易量高于平均值的股票。简单表格中的音量。
问题是我总是在带有条件的 if 循环中出错。
from yahoo_fin.stock_info import get_analysts_info, get_stats, get_live_price, get_quote_table
import pandas as pd
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
tickers = ['aapl', 'ayx']
stocks = pd.DataFrame(columns = ['ticker', 'Volume_1', 'Average_Volume'])
for ticker in tickers:
df = get_stats(ticker)
df['ticker'] = ticker
df = df.pivot(index = 'ticker', columns = 'Attribute', values = 'Value')
df['Volume_1'] = get_quote_table(ticker)['Volume']
df['Average_Volume'] = get_quote_table(ticker)['Avg. Volume']
df = df[['Volume_1', 'Average_Volume']]
df = df.reset_index()
df.columns = ('ticker', 'Volume_1', 'Average_Volume')
stocks = stocks.append(df, ignore_index = True)
for stock in stocks:
Volume_1 = df["Volume_1"]
Average_Volume = df["Average_Volume"]
if float(Volume_1) > float(Average_Volume):
exportList = stocks.append({'Volume_1': Volume_1, "Average_Volume": Avgerage_Volume},
ignore_index=True)
df["Volume_1"] = pd.to_numeric(df["Volume_1"], downcast="float")
exportList = stock.sort_values(by='Volume_1', ascending=False)
print('\n', exportList)
【问题讨论】:
-
什么错误?给minimal reproducible example。