首页 > 解决方案 > 连接数据帧中的两个系列后出现 Keyerror

问题描述

我有一个这样的 DataFrame -

            Open   High    Low  Close  Volume  Open Interest
  9/1/94   97.86  98.29  97.64  97.76   39772          89054
  9/2/94   97.77  97.84  97.59  97.81   26715          84291
  9/6/94   97.61  97.97  97.40  97.91   37577          86687
  9/7/94   97.93  98.12  97.90  98.10   33530          81909
  9/8/94   98.08  98.24  97.85  97.96   43041          79094
  9/9/94   97.93  98.18  97.80  97.82   50432          70912
  9/12/94  97.74  97.89  97.64  97.68   33660          60634

我通过执行以下操作得到

    NQ = pd.read_csv('NQ.csv',index_col=0)
    NQ.index.name = None

然后我使用此代码仅提取行和关闭列

NQ_data = pd.DataFrame(NQ.loc['9/1/94','1/10/20', 'Close'])

然后我像这样使用 pd.rename 重命名列名

NQ_data = NQ_data.rename(columns = {'Close': 'NQ'})

到目前为止一切都很好。现在我对另一个数据集执行与上述相同的操作,以提取“关闭”列和日期(两个数据集具有相同的日期索引集)。

我使用 pd.concat 像这样合并它们 -

ES_and_NQ = pd.concat([ES_data, NQ_data], axis = 1, join = 'outer')

但是这样做之后,我不能再使用日期访问这个新列中的数据。例如

ES_and_NQ['9/1/94'] 

抛出一个关键错误,即使当我查看 ES_and_NQ.index 时,这个日期也列在那里。为什么会这样?

标签: pythonpandas

解决方案


推荐阅读