首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据日期将数据帧一分为二

根据日期将数据帧一分为二
EN

Stack Overflow用户
提问于 2016-05-31 02:53:20
回答 3查看 22.7K关注 0票数 8

我有一个包含1000行的数据集,如下所示

代码语言:javascript
复制
 Date,      Cost,         Quantity(in ton),    Source,          Unloading Station
    01/10/2015, 7,            5.416,               XYZ,           ABC

我想在日期基础上拆分数据。例如,截止日期2016年12月20日是训练数据,之后是测试数据。

我该如何拆分?有可能吗?

EN

回答 3

Stack Overflow用户

发布于 2018-09-14 20:51:03

您可以通过将列转换为pandas to_datetime类型并将其设置为索引来轻松完成此操作。

代码语言:javascript
复制
import pandas as pd
df['Date'] = pd.to_datetime(df['Date'])
df = df.set_index(df['Date'])
df = df.sort_index()

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

代码语言:javascript
复制
# 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)
票数 11
EN

Stack Overflow用户

发布于 2016-05-31 04:01:26

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

代码语言:javascript
复制
split_date = pd.datetime(2016,12,20)

df_training = df.loc[df['Date'] <= split_date]
df_test = df.loc[df['Date'] > split_date]
票数 7
EN

Stack Overflow用户

发布于 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]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37532098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档