我有一个包含1000行的数据集,如下所示
Date, Cost, Quantity(in ton), Source, Unloading Station
01/10/2015, 7, 5.416, XYZ, ABC我想在日期基础上拆分数据。例如,截止日期2016年12月20日是训练数据,之后是测试数据。
我该如何拆分?有可能吗?
发布于 2018-09-14 20:51:03
您可以通过将列转换为pandas to_datetime类型并将其设置为索引来轻松完成此操作。
import pandas as pd
df['Date'] = pd.to_datetime(df['Date'])
df = df.set_index(df['Date'])
df = df.sort_index()一旦你有了这种格式的数据,你可以简单地使用date作为索引来创建分区,如下所示:
# 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)发布于 2016-05-31 04:01:26
假设您的数据集是pandas数据帧,并且Date列是pandas数据类型:
split_date = pd.datetime(2016,12,20)
df_training = df.loc[df['Date'] <= split_date]
df_test = df.loc[df['Date'] > split_date]发布于 2020-05-03 11:43:29
如果您的日期是标准的python日期时间格式,即。'2016-06-23 23:00:00',你可以使用下面的代码
split_date ='2016-06-23 23:00:00' train_data = train_data.loc[train_data['Date'] <= split_date] validation_data = train_data.loc[train_data['Date'] > split_date]
https://stackoverflow.com/questions/37532098
复制相似问题