【发布时间】:2021-07-08 14:19:40
【问题描述】:
我正在尝试使用 yahoo Finance 导入股票数据 我正在使用代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('whitegrid')
plt.style.use("fivethirtyeight")
%matplotlib inline
# For reading stock data from yahoo
from pandas_datareader.data import DataReader
# For time stamps
from datetime import datetime
运行良好。
from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override() # <== that's all it takes :-)
# download dataframe
# The tech stocks we'll use for this analysis
tech_list = ['WIPRO.BO', 'INFY.BO', 'TCS.BO', 'HAPPSTMNDS.BO']
# Set up End and Start times for data grab
end = datetime.now()
start = datetime(end.year - 1, end.month, end.day)
#For loop for grabing yahoo finance data and setting as a dataframe
for stock in tech_list:
# Set DataFrame as the Stock Ticker
globals()[stock] = pdr.get_data_yahoo(stock, start, end)
运行下面提到的代码时出现错误:
company_list = ['WIPRO.BO', 'INFY.BO', 'TCS.BO', 'HAPPSTMNDS.BO']
company_name = ["Wipro", "Infosys", "Tata_Consultancy_Services", "Happiest_Minds_Technologies"]
for company, com_name in zip(company_list, company_name):
company["company_name"] = com_name
df = pd.concat(company_list, axis=0)
df.tail(10)
错误信息:
TypeError Traceback (most recent call last)
<ipython-input-6-4753fcd8a7a3> in <module>
3
4 for company, com_name in zip(company_list, company_name):
----> 5 company["company_name"] = com_name
6
7 df = pd.concat(company_list, axis=0)
TypeError: 'str' object does not support item assignment
请帮我解决这个问题。
非常感谢^_^
【问题讨论】:
-
您编写的 for 循环中的“公司”是您在上面定义的 company_list 中的字符串。您正在尝试为字符串分配一个新值(假设它是一个字典),这就是您收到错误的原因。
-
那么,我应该怎么做才能让它没有错误?
-
嗯,这取决于你想要什么输出。最终目标是什么?
-
最终目标是在获取代码后的数据。我将制作一个 ARIMA 模型来预测它。
标签: python stock yahoo-finance