【问题标题】:randomly split DataFrame by group?按组随机拆分DataFrame?
【发布时间】:2018-08-13 10:32:45
【问题描述】:

我有一个 DataFrame,其中多行共享 group_id 值(非常多的组)。

有没有一种优雅的方法可以将这些数据随机拆分为训练和测试数据,并且训练集和测试集不共享 group_id?

我现在能想到的最好的流程是
- 从 msk = np.random.rand()
创建掩码 - 将其应用于 DataFrame
- 检查测试文件中与训练集共享 group_id 的行并将这些行移动到训练集。

这显然是不优雅的,并且有多个问题(包括测试数据最终为空的可能性)。我觉得必须有更好的方法,是吗?

谢谢

【问题讨论】:

    标签: python-3.x pandas numpy random scikit-learn


    【解决方案1】:

    哦,有一个简单的方法!

    • 创建唯一 group_id 的列表/数组
    • 为此列表创建一个随机掩码
    • 并使用掩码拆分文件

    【讨论】:

      猜你喜欢
      • 2019-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      相关资源
      最近更新 更多