我有一个包含数千条记录的数据框,我想随机选择 1000 行到另一个数据框中进行演示。我如何在 Java 中执行此操作?
谢谢!
原文由 lte__ 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个包含数千条记录的数据框,我想随机选择 1000 行到另一个数据框中进行演示。我如何在 Java 中执行此操作?
谢谢!
原文由 lte__ 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
你可以试试 sample() 方法。不幸的是,你必须给那里的不是数字,而是分数。你可以这样写函数:
说明:我们必须取一小部分数据。如果我们有 2000 行,而你想得到 100 行,我们必须有总行数的 0.5。如果你想获得比 DataFrame 中更多的行,你必须获得 1.0。调用 limit () 函数以确保舍入是正确的,并且您没有获得比指定更多的行。
编辑:我在其他答案中看到了 takeSample 方法。但要记住:
dataset.rdd.takeSample(0, 1000, System.currentTimeMilis()).toDF()
takeSample 将收集所有值。