为什么我收到 TypeError:字符串索引必须是整数,而不是“str”

问题描述 投票:0回答:1

下面是代码。每当我尝试运行它时,它都会说类型错误:字符串索引必须是整数,#not“str”

import datetime as dt
import matplotlib.pyplot as plt
import pandas as pd
import pandas_datareader as pdr

start = dt.datetime.now() - dt.timedelta(days = 365*3)
end = dt.datetime.now()

stocks = ['VOO', 'QQQ']

df = pdr.get_data_yahoo(stocks, start, end)
df.head()

我正在尝试从雅虎财经获取过去三年到今天的 VOO 和 QQQ 股价数据。我收到一个大错误代码,以字符串索引结尾必须是整数,而不是“str”

pandas yahoo-finance
1个回答
0
投票

也许您可以使用

yfinance
代替
pandas_datareader
:

import datetime as dt
import matplotlib.pyplot as plt
import pandas as pd
import yfinance as yf

start = dt.datetime.now() - dt.timedelta(days = 365*3)
end = dt.datetime.now()

stocks = ['VOO', 'QQQ']

df = yf.download(stocks, start, end)
df.head()

输出:

>>> df
             Adj Close                   Close                    High  ...         Low        Open                Volume         
                   QQQ         VOO         QQQ         VOO         QQQ  ...         VOO         QQQ         VOO       QQQ      VOO
Date                                                                    ...                                                       
2020-12-23  302.548248  322.488678  308.200012  337.809998  310.179993  ...  337.690002  309.809998  338.540009  21201300  3682200
2020-12-24  303.883270  323.777466  309.559998  339.160004  310.019989  ...  337.769989  308.470001  338.369995  16785000  1447500
2020-12-28  306.946106  326.593658  312.679993  342.109985  313.170013  ...  341.089996  312.250000  341.739990  22497700  2798800
2020-12-29  307.220886  325.906342  312.959991  341.390015  314.690002  ...  340.869995  314.049988  343.630005  25871900  2555500
2020-12-30  307.230774  326.345490  312.970001  341.850006  314.489990  ...  341.570007  314.160004  342.279999  18138100  2009100
...                ...         ...         ...         ...         ...  ...         ...         ...         ...       ...      ...
2023-12-18  407.079987  433.749908  407.079987  435.540009  407.989990  ...  434.450012  404.929993  434.640015  46610000  4280500
2023-12-19  409.160004  436.389008  409.160004  438.190002  409.279999  ...  435.950012  407.540009  436.040009  35711900  4061500
2023-12-20  403.079987  430.089996  403.079987  430.089996  410.470001  ...  429.899994  408.350006  435.510010  54042400  5783200
2023-12-21  407.769989  434.279999  407.769989  434.279999  408.140015  ...  430.859985  407.059998  433.130005  45568900  4621600
2023-12-22  408.380005  435.290009  408.380005  435.290009  409.970001  ...  433.480011  409.000000  435.459991  34292400  4035200

[755 rows x 12 columns]
© www.soinside.com 2019 - 2024. All rights reserved.