Python Pandas在尝试访问索引时出现密钥错误

2024-05-20 03:14:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下的股票数据集,列上有日期,行下有日期(使用彭博的PythonAPI下载-请忽略它们都是“NaN”的事实-这只是针对这部分数据):

enter image description here

我试图从指数中提取月份和年份,以便以后做一个透视:

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

其中values是上述数据帧的名称。

但是,这会产生一个错误:“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)

所以我想知道哪里出了问题,为什么我不能访问这里的实际索引?


Tags: 数据lambda名称pythonapidatenan指数事实
1条回答
网友
1楼 · 发布于 2024-05-20 03:14:04

第一列叫做indexdateindex.name

您可以通过以下方式进行检查:

print (df.index.name)

所以你需要^{}^{}

values.index.month

编辑:

对于自定义字符串格式,日期用作^{}

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

相关问题 更多 >