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