首页 > 解决方案 > 我无法对唯一日期的数据进行切片

问题描述

我一直在运行一系列代码,它们似乎都运行良好,直到我进入最后一步。以下是我运行的一些代码:

rds = pd.read_csv('RDS-A.csv')
print(rds.head())
print(rds.shape)
print(rds.describe())
rds_2015 = rds.loc['2015-01-01':'2015-12-31']
print(rds_2015.loc['2015-01-30'])

错误

KeyError Traceback(最近一次调用最后一次)get_loc(self,key,method,tolerance)2896尝试:-> 2897 return self._engine.get_loc(key)2898除了KeyError:pandas/_libs/index.pyx in pandas._libs.index .IndexEngine.get_loc() pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc() KeyError: '2015-01-30'

标签: pythonindexingsliceanalysisfinance

解决方案


尝试:

import pandas as pd
rds = pd.read_csv('RDS-A.csv')
rds['Date'] = pd.to_datetime(rds['Date'])
rds.set_index('Date', inplace=True)
rds_2015 = rds['2015']

如果要按日期对数据进行切片,则必须具有datetime格式。为简单起见,您可以将该列设置为索引。然后你可以很容易地rds['2015']得到所有 2015 年的值


推荐阅读