Python 由于大Sur,datetime pandas中出现关键错误?

Python 由于大Sur,datetime pandas中出现关键错误?,python,pandas,dataframe,macos-big-sur,yfinance,Python,Pandas,Dataframe,Macos Big Sur,Yfinance,我刚刚升级了Big Sur 11.0.1,在尝试执行笔记本时遇到了一些问题。奇怪,因为它对卡塔琳娜有效。有人能帮忙吗 import numpy as np import pandas as pd import yfinance as yf # In[56]: #parameters RISKY_ASSET = 'ADBE' START_DATE = '2017-01-01' END_DATE = '2020-07-31' # In[57]: #Download data: df

我刚刚升级了Big Sur 11.0.1,在尝试执行笔记本时遇到了一些问题。奇怪,因为它对卡塔琳娜有效。有人能帮忙吗

import numpy as np
import pandas as pd
import yfinance as yf


# In[56]:


#parameters
RISKY_ASSET = 'ADBE'
START_DATE = '2017-01-01'
END_DATE = '2020-07-31'


# In[57]:


#Download data:
df = yf.download(RISKY_ASSET, start=START_DATE, end=END_DATE, adjusted=True)


# In[58]:


#daily return
adj_close = df['Adj Close']
returns = adj_close.pct_change().dropna()
print(f'Average return: {100 * returns.mean():.2f}%')
returns.plot(title=f'{RISKY_ASSET} returns: {START_DATE} - {END_DATE}')


# In[59]:


#Split the data into training and test sets:
train = returns['2017-01-01':'2020-06-30']
test = returns['2020-07-01':'2020-07-31']


# In[60]:


#parameters of the simulation:
T = len(test)
N = len(test)
S_0 = adj_close[train.index[-1].date()]

N_SIM = 1000
mu = train.mean()
sigma = train.std()
错误:

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-7-9316c025c623> in <module>
      2 T = len(test)
      3 N = len(test)
----> 4 S_0 = adj_close[train.index[-1].date()]
      5 N_SIM = 1000
      6 mu = train.mean()

~/opt/anaconda3/lib/python3.8/site-packages/pandas/core/series.py in __getitem__(self, key)
    880 
    881         elif key_is_scalar:
--> 882             return self._get_value(key)
    883 
    884         if is_hashable(key):

~/opt/anaconda3/lib/python3.8/site-packages/pandas/core/series.py in _get_value(self, label, takeable)
    987 
    988         # Similar to Index.get_value, but we do not fall back to positional
--> 989         loc = self.index.get_loc(label)
    990         return self.index._get_values_for_loc(self, loc, label)
    991 

~/opt/anaconda3/lib/python3.8/site-packages/pandas/core/indexes/datetimes.py in get_loc(self, key, method, tolerance)
    620         else:
    621             # unrecognized type
--> 622             raise KeyError(key)
    623 
    624         try:

KeyError: datetime.date(2019, 12, 31) ```
---------------------------------------------------------------------------
KeyError回溯(最近一次呼叫最后一次)
在里面
2 T=透镜(测试)
3 N=透镜(测试)
---->4 S_0=调整关闭[列车索引[-1]。日期()
5 N_SIM=1000
6亩=列车平均值()
~/opt/anaconda3/lib/python3.8/site-packages/pandas/core/series.py in\uuuuu getitem\uuuuuu(self,key)
880
881 elif键是标量:
-->882返回自我。获取值(键)
883
884如果可散列(键):
~/opt/anaconda3/lib/python3.8/site-packages/pandas/core/series.py in\u get\u值(self、label、takeable)
987
988#类似于Index.get_值,但我们不会退回到位置
-->989 loc=自索引获取位置(标签)
990返回self.index.\u获取\u loc(self,loc,label)的\u值\u
991
get_loc中的~/opt/anaconda3/lib/python3.8/site-packages/pandas/core/index/datetimes.py(self、key、method、tolerance)
620其他:
621#无法识别的类型
-->622升起钥匙错误(钥匙)
623
624尝试:
KeyError:datetime.date(2019年12月31日)```

问题实际上是由于my Pandas的版本造成的。我已经把它降级到1.0.5,一切正常! 在命令终端中:
pip install pandas==1.0.5

下面是代码:将代码添加到问题中。我将代码放在下面。下次按“编辑”编辑问题。现在我在你的问题中添加了你的代码。你能删除下面的答案吗?我试过了,但我的帖子似乎包含了太多的代码,所以我把它放在下面。谢谢你,伙计!