如何分割数据框

时间:2020-06-20 14:41:16

标签: python pandas numpy

我有一个看起来像这样的df:

df.head()
Close
Date    
2011-12-31  4.472624
2012-01-01  4.680778
2012-01-02  5.000000
2012-01-03  5.145917
2012-01-04  5.228729

我想根据这种尝试将数据分为两部分:

# Split data
df_train = df['2017':'2020-04'].iloc[:, 0:1].values #an array of Close values
df_test = df['2020-04':].iloc[:, 0:1].values #an array of Close values

...引发:

KeyError:'2017'

年份包含在数据框中。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

您需要将索引转换为日期时间

df.index=pd.to_datetime(df.index)

答案 1 :(得分:1)

import pandas as pd    
df.index = df.index.astype('datetime64[ns]')    
df_train = df[(df.index > '2017-01-01') & (df.index < '2020-04-01')]
df_test = df[df.index > '2020-04-01']