You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于pandas的week列高效实现训练测试集划分?

基于条件列划分训练集与测试集的高效实现方法

既然你是按固定业务条件(week<51为训练集,week>=51为测试集)划分,完全不需要用到train_test_split——这个函数是用于随机划分的,反而会增加不必要的计算开销。直接用pandas的布尔索引切片是最高效、最直观的方案:

实现步骤

  1. 生成划分用的布尔掩码
train_mask = data['week'] < 51
test_mask = data['week'] >= 51
  1. 基于掩码直接拆分特征集(X)和标签集(y)
X_train = data.loc[train_mask, xvars]
X_test = data.loc[test_mask, xvars]
y_train = data.loc[train_mask, yvar]
y_test = data.loc[test_mask, yvar]

额外验证(可选)

如果需要确认划分是否符合预期,可以快速验证:

# 检查训练集的week最大值
print("训练集week最大值:", data.loc[train_mask, 'week'].max())
# 检查测试集的week最小值
print("测试集week最小值:", data.loc[test_mask, 'week'].min())

这种方法的优势:

  • 完全匹配你的条件需求,没有随机逻辑干扰
  • 操作直接,代码可读性极强
  • 执行效率远高于调用train_test_split,省去了随机打乱、比例计算等额外步骤

内容的提问来源于stack exchange,提问作者nerd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:00:37