在d的基础上将数据帧分成两个

2024-04-27 14:35:58 发布

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

我有1000行这样的数据集

 Date,      Cost,         Quantity(in ton),    Source,          Unloading Station
    01/10/2015, 7,            5.416,               XYZ,           ABC

我想按日期分割数据。例如,截至2016年12月20日为培训数据,之后为测试数据。

我该怎么分开?有可能吗?


Tags: 数据insourcedatequantityabcstation测试数据
2条回答

通过将列转换为pandas的日期时间类型并将其设置为索引,可以轻松地完成此操作。

import pandas as pd
df['Date'] = pd.to_datetime(df['Date'])
df = df.set_index(df['Date'])
df = df.sort_index()

一旦您有了这种格式的数据,您可以简单地使用日期作为创建分区的索引,如下所示:

# 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)

假设您的数据集是pandas数据帧,并且Date列是datetime数据类型:

split_date = pd.datetime(2016,12,20)

df_training = df.loc[df['Date'] <= split_date]
df_test = df.loc[df['Date'] > split_date]

相关问题 更多 >