dataset1 = off_train[(off_train.date_received>='20160414')&(off_train.date_received<='20160514')] feature1 = off_train[(off_train.date>='20160101')&(off_train.date<='20160413')|((off_train.date=='null')&(off_train.date_received>='20160101')&(off_train.date_received<='20160413'))] 请将以上代码按以下方式划分 # 测试集历史区间、中间区间、标签区间 test_history_field = off_train[ off_train['date_received'].isin(pd.date_range('2016/4/17', periods=60))] # [20160417,20160616) test_middle_field = off_train[off_train['date'].isin(pd.date_range('2016/6/16', periods=15))] # [20160616,20160701) test_label_field = off_test.copy() # [20160701,20160801)
时间: 2024-04-23 20:22:26 浏览: 18
以上代码中,dataset1是标签区间,feature1是历史区间+中间区间。因此,可以按以下方式划分:
- 测试集历史区间:feature1中的历史区间,即off_train[(off_train.date>='20160101')&(off_train.date<='20160413')|((off_train.date=='null')&(off_train.date_received>='20160101')&(off_train.date_received<='20160413'))];
- 测试集中间区间:test_middle_field,即off_train[off_train['date'].isin(pd.date_range('2016/6/16', periods=15))];
- 测试集标签区间:test_label_field,即off_test.copy()。
相关问题
优化代码feature3 = off_train[(off_train.date_received >= '20160315') & (off_train.date_received <= '20160630')] dataset2 = off_train[(off_train.date_received >= '20160515') & (off_train.date_received <= '20160615')] feature2 = off_train[(off_train.date_received >= '20160201') & (off_train.date_received <= '20160514')] dataset1 = off_train[(off_train.date_received >= '20160414') & (off_train.date_received <= '20160514')] feature1 = off_train[(off_train.date_received >= '20160101') & (off_train.date_received <= '20160413')]
可以将时间范围作为参数传入一个函数,来避免重复的代码,提高代码复用性和可读性。例如:
```
def select_data_by_time(data, start_date, end_date):
return data[(data.date_received >= start_date) & (data.date_received <= end_date)]
feature3 = select_data_by_time(off_train, '20160315', '20160630')
dataset2 = select_data_by_time(off_train, '20160515', '20160615')
feature2 = select_data_by_time(off_train, '20160201', '20160514')
dataset1 = select_data_by_time(off_train, '20160414', '20160514')
feature1 = select_data_by_time(off_train, '20160101', '20160413')
```
这样可以将时间筛选的逻辑封装在函数中,使代码更加简洁易懂,同时也方便后续对时间筛选逻辑的修改和调整。
''''划分线下数据集''' # 划分区间 dataset_test = off_test#dataset3的数据集范围即为要预测的7月份的线下测试集 feature_test = off_train[((off_train.date>='20160315')&(off_train.date<='20160630'))|((off_train.date=='null')&(off_train.date_received>='20160315')&(off_train.date_received<='20160630'))] dataset_validate = off_train[(off_train.date_received>='20160515')&(off_train.date_received<='20160615')] feature_validate = off_train[(off_train.date>='20160201')&(off_train.date<='20160514')|((off_train.date=='null')&(off_train.date_received>='20160201')&(off_train.date_received<='20160514'))] dataset_train = off_train[(off_train.date_received>='20160414')&(off_train.date_received<='20160514')] feature_train = off_train[(off_train.date>='20160101')&(off_train.date<='20160413')|((off_train.date=='null')&(off_train.date_received>='20160101')&(off_train.date_received<='20160413'))]出现报错'DataFrame' object has no attribute 'date'怎么办
这个报错是因为 `off_train` 这个 DataFrame 中不存在名为 `date` 的列,导致代码无法运行。建议您检查一下 `off_train` 中的列名称,确保 `date` 这一列名字是正确的。如果列名不正确,可以将代码中的 `date` 换成正确的列名。如果确实没有 `date` 这一列,就需要先对数据进行预处理,添加或修改相应的列。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)