首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AttributeError:模块'yfinance‘没有属性’下载‘

AttributeError:模块'yfinance‘没有属性’下载‘
EN

Stack Overflow用户
提问于 2020-04-29 19:17:49
回答 3查看 5.8K关注 0票数 3

我正试着把你的金融和一些库存引进到熊猫资料里。最初在进口金融方面存在重大问题。我使用pip安装,但仍然需要手动输入文件才能真正消除无模块错误。

到目前为止,这是我的代码:

现在,在尝试下载yfinance时,我得到了属性错误。

代码语言:javascript
运行
复制
import pandas as pd
import datetime as dt
import yfinance as yf
# import fix_yahoo_finance as yf

stocks = ["AMZN", "MSFT", "INTC", "GOOG", "INFY.NS", "3988.HK"]
start = dt.datetime.today()- dt.timedelta(30)
end = dt.datetime.today()
cl_price = pd.DataFrame()

for ticker in stocks:
    cl_price[ticker] = yf.download(ticker,start,end)["Adj Close"]

这是一个错误:

代码语言:javascript
运行
复制
AttributeError                            Traceback (most recent call last)
<ipython-input-51-3347ed0c7f2b> in <module>
     10 
     11 for ticker in stocks:
---> 12     cl_price[ticker] = yf.download(ticker,start,end)["Adj Close"]

AttributeError: module 'yfinance' has no attribute 'download'

我试过了AttributeError: module 'yahoo_finance' has no attribute 'download'的建议,但仍然不起作用

任何解决方案都很感激

EN

Stack Overflow用户

发布于 2022-11-26 04:55:25

这能做你想做的事。

代码语言:javascript
运行
复制
import pandas as pd  
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import scipy.optimize as sco
import datetime as dt
import math
from datetime import datetime, timedelta
from pandas_datareader import data as wb
from sklearn.cluster import KMeans
np.random.seed(777)


start = '2022-09-22'
end = '2022-11-23'


tickers = ['AXP','AMGN','AAPL','BA','CAT','CSCO','CVX','GS','HD','HON','IBM','INTC','JNJ','KO','JPM','MCD','MMM','MRK','MSFT','NKE','PG','TRV','UNH','CRM','VZ','V','WBA','WMT','DIS']

thelen = len(tickers)


price_data = []
for ticker in tickers:
    try:
        prices = wb.DataReader(ticker, start = start, end = end, data_source='yahoo')[['Adj Close']]
        price_data.append(prices.assign(ticker=ticker)[['ticker', 'Adj Close']])
    except:
        print(ticker)        
df = pd.concat(price_data)
df.dtypes
df.tail()
df.shape

pd.set_option('display.max_columns', 500)
pd.set_option('display.max_rows', None)

df = df.reset_index()
df = df.set_index('Date')
table = df.pivot(columns='ticker')

# By specifying col[1] in below list comprehension
# You can select the stock names under multi-level column
table.columns = [col[1] for col in table.columns]
table.head()

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61509917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档