如何使用熊猫从一个数据框中创建测试和训练样本?

新手上路,请多包涵

我有一个数据框形式的相当大的数据集,我想知道如何将数据框分成两个随机样本(80% 和 20%)用于训练和测试。

谢谢!

原文由 tooty44 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 203
2 个回答

我只会使用 numpy 的 randn

 In [11]: df = pd.DataFrame(np.random.randn(100, 2))

In [12]: msk = np.random.rand(len(df)) < 0.8

In [13]: train = df[msk]

In [14]: test = df[~msk]

只是为了看看这是否有效:

 In [15]: len(test)
Out[15]: 21

In [16]: len(train)
Out[16]: 79

原文由 Andy Hayden 发布,翻译遵循 CC BY-SA 3.0 许可协议

Scikit Learn 的 train_test_split 是一个很好的工具。它将拆分 numpy 数组和数据帧。

 from sklearn.model_selection import train_test_split

train, test = train_test_split(df, test_size=0.2)

原文由 o-90 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题