【发布时间】:2021-04-07 11:55:59
【问题描述】:
我有一个稀疏矩阵,每列包含未来的价格。我希望将数据随机分成两组。 我知道 sklearn 中的 train_test_split 可以将数据随机分成两组,但是它不能满足我的需求:
- 随机选择的数据应排除 nans
- 从每列中提取不同大小的数据。(例如,第一列包含 10000 个非 nan 单元格,第二列包含 5000 个,我需要从第一列中提取 2000 个单元格,从第二列中提取 500 个作为训练集,其余作为验证集)
有没有节省时间的方法?
【问题讨论】:
-
您可能应该只使用
pd.Series.sample()对不同列进行不同的采样值,然后将结果列连接到数据帧中。 -
sparse matrix与 pandas 数据框有什么关系?认真考虑将您的数据转换为sklearn可以轻松拆分的形式。如果它不能拆分它,它可能也无法从中学习。 -
感谢您的回复。但是我觉得pd.Series.sample()还是不能排除nans,用什么样的数据形式都无所谓,我只需要实现上面提到的目标,不用太多循环
标签: python pandas numpy machine-learning