我有1000行这样的数据集
Date, Cost, Quantity(in ton), Source, Unloading Station
01/10/2015, 7, 5.416, XYZ, ABC
Run Code Online (Sandbox Code Playgroud)
我想根据日期拆分数据。例如,截至日期20.12.2016是培训数据,之后是测试数据。
我应该如何分割?可能吗?
假设您的数据集是 pandas 数据框并且该Date列是datetimedtype:
split_date = pd.datetime(2016,12,20)
df_training = df.loc[df['Date'] <= split_date]
df_test = df.loc[df['Date'] > split_date]
Run Code Online (Sandbox Code Playgroud)
您可以通过将列转换为pandas to_datetime类型并将其设置为index来轻松地做到这一点。
import pandas as pd
df['Date'] = pd.to_datetime(df['Date'])
df = df.set_index(df['Date'])
df = df.sort_index()
Run Code Online (Sandbox Code Playgroud)
一旦使用这种格式的数据,就可以简单地将日期用作创建分区的索引,如下所示:
# create train test partition
train = df['2015-01-10':'2016-12-20']
test = df['2016-12-21':]
print('Train Dataset:',train.shape)
print('Test Dataset:',test.shape)
Run Code Online (Sandbox Code Playgroud)