尝试访问索引时Python Pandas键错误

时间:2017-10-24 11:15:18

标签: python pandas dataframe

我在列中有以下股票数据集,行下的日期(使用Bloomberg的Python API下载 - 请忽略它们都是NaN' - 这只是为了这部分数据):

enter image description here

我试图从索引中提取月份和年份,以便稍后进行转移:

values['month'] = values['date'].apply(lambda x: x.month)

其中values是上述DataFrame的名称。

然而,这会出错:' KeyError' date'

运行:

values.index

看起来很好:

DatetimeIndex(['2010-01-01', '2010-01-02', '2010-01-03', '2010-01-23',
           '2010-01-24', '2010-01-29', '2010-01-30', '2010-01-31',
           '2010-02-13', '2010-02-14',
           ...
           '2017-08-12', '2017-08-27', '2017-08-31', '2017-09-01',
           '2017-09-03', '2017-09-09', '2017-09-24', '2017-09-29',
           '2017-09-30', '2017-10-01'],
          dtype='datetime64[ns]', name='date', length=593, freq=None)

所以我只是想知道出了什么问题以及为什么我似乎无法在这里访问实际索引?

1 个答案:

答案 0 :(得分:2)

第一列称为indexdateindex.name

您可以通过以下方式查看:

print (df.index.name)

因此需要DatetimeIndex.monthDatetimeIndex.year

values.index.month

编辑:

对于自定义字符串格式,使用日期strftime

values['name'] = values.index.strftime('%B - %Y')