使用列条件随机采样Pyspark数据帧

编码爱好者

我试图随机采样列值满足特定条件的Pyspark数据框。我想使用该sample方法根据列值随机选择行。假设我有以下数据框:

+---+----+------+-------------+------+
| id|code|   amt|flag_outliers|result|
+---+----+------+-------------+------+
|  1|   a|  10.9|            0|   0.0|
|  2|   b|  20.7|            0|   0.0|
|  3|   c|  30.4|            0|   1.0|
|  4|   d| 40.98|            0|   1.0|
|  5|   e| 50.21|            0|   2.0|
|  6|   f|  60.7|            0|   2.0|
|  7|   g|  70.8|            0|   2.0|
|  8|   h| 80.43|            0|   3.0|
|  9|   i| 90.12|            0|   3.0|
| 10|   j|100.65|            0|   3.0|
+---+----+------+-------------+------+

我只想对0, 1, 2, 3基于该result的每个样本进行1(或任何特定数量)的抽样,因此我将得出以下结论:

+---+----+------+-------------+------+
| id|code|   amt|flag_outliers|result|
+---+----+------+-------------+------+
|  1|   a|  10.9|            0|   0.0|
|  3|   c|  30.4|            0|   1.0|
|  5|   e| 50.21|            0|   2.0|
|  8|   h| 80.43|            0|   3.0|
+---+----+------+-------------+------+

是否有一种好的编程方式来实现这一目标,即对于某一列中给出的每个值都采用相同数量的行?任何帮助都非常感谢!

皮索尔

您可以使用sampleBy(),它返回分层样本而无需根据每个层次上给出的分数进行替换。

>>> from pyspark.sql.functions import col
>>> dataset = sqlContext.range(0, 100).select((col("id") % 3).alias("result"))
>>> sampled = dataset.sampleBy("result", fractions={0: 0.1, 1: 0.2}, seed=0)
>>> sampled.groupBy("result").count().orderBy("key").show()

+------+-----+
|result|count|
+------+-----+
|     0|    5|
|     1|    9|
+------+-----+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用R中不同数据帧的过滤信息从数据帧中的列进行随机采样

来自分类Dev

熊猫数据帧的随机采样(行和列)

来自分类Dev

在数据帧中每组采样n个随机行

来自分类Dev

从XML文件随机采样到R中的数据帧

来自分类Dev

在存在某些条件的情况下,如何根据该数据帧的列值随机选择该数据帧的记录?

来自分类Dev

如何使用计数将数据帧重新采样到新列中并将列聚合到列表中

来自分类Dev

如何使用计数将数据帧重新采样到新列中并将列聚合到列表中

来自分类Dev

如何使用pandas在csv中代表采样数据帧

来自分类Dev

使用 Pandas 对数据帧的特定周期进行下采样

来自分类Dev

跨数据帧内因子的所有级别选择n个随机采样的连续行

来自分类Dev

将数据帧随机采样到R中的3组中

来自分类Dev

使用条件结果列连接PySpark数据框

来自分类Dev

使用条件结果列连接PySpark数据框

来自分类Dev

使用pyspark / spark采样大型分布式数据集

来自分类Dev

如何过滤两列条件的数据帧?

来自分类Dev

从数据帧计算列条件分布

来自分类Dev

在pySpark中按条件拆分数据帧

来自分类Dev

如何计算pyspark数据帧中值的条件概率?

来自分类Dev

如何根据pyspark数据帧中的条件转换日期格式?

来自分类Dev

使用Pyspark计算Spark数据帧每列中非NaN条目的数量

来自分类Dev

使用pyspark在特定字符后截断数据帧列中的所有字符串

来自分类Dev

根据列中特定值的计数条件过滤出spark数据帧的行[pyspark中的spark.sql语法]

来自分类Dev

根据条件将pyspark数据帧拆分为多个数据帧

来自分类Dev

使用额外条件合并数据帧

来自分类Dev

使用pythons pandas数据帧中的数据从正态分布中采样

来自分类Dev

重采样熊猫多索引数据帧

来自分类Dev

改进 R 数据帧之间的采样

来自分类Dev

无法过滤采样数据帧 - R

来自分类Dev

合并不同采样频率的数据帧

Related 相关文章

  1. 1

    使用R中不同数据帧的过滤信息从数据帧中的列进行随机采样

  2. 2

    熊猫数据帧的随机采样(行和列)

  3. 3

    在数据帧中每组采样n个随机行

  4. 4

    从XML文件随机采样到R中的数据帧

  5. 5

    在存在某些条件的情况下,如何根据该数据帧的列值随机选择该数据帧的记录?

  6. 6

    如何使用计数将数据帧重新采样到新列中并将列聚合到列表中

  7. 7

    如何使用计数将数据帧重新采样到新列中并将列聚合到列表中

  8. 8

    如何使用pandas在csv中代表采样数据帧

  9. 9

    使用 Pandas 对数据帧的特定周期进行下采样

  10. 10

    跨数据帧内因子的所有级别选择n个随机采样的连续行

  11. 11

    将数据帧随机采样到R中的3组中

  12. 12

    使用条件结果列连接PySpark数据框

  13. 13

    使用条件结果列连接PySpark数据框

  14. 14

    使用pyspark / spark采样大型分布式数据集

  15. 15

    如何过滤两列条件的数据帧?

  16. 16

    从数据帧计算列条件分布

  17. 17

    在pySpark中按条件拆分数据帧

  18. 18

    如何计算pyspark数据帧中值的条件概率?

  19. 19

    如何根据pyspark数据帧中的条件转换日期格式?

  20. 20

    使用Pyspark计算Spark数据帧每列中非NaN条目的数量

  21. 21

    使用pyspark在特定字符后截断数据帧列中的所有字符串

  22. 22

    根据列中特定值的计数条件过滤出spark数据帧的行[pyspark中的spark.sql语法]

  23. 23

    根据条件将pyspark数据帧拆分为多个数据帧

  24. 24

    使用额外条件合并数据帧

  25. 25

    使用pythons pandas数据帧中的数据从正态分布中采样

  26. 26

    重采样熊猫多索引数据帧

  27. 27

    改进 R 数据帧之间的采样

  28. 28

    无法过滤采样数据帧 - R

  29. 29

    合并不同采样频率的数据帧

热门标签

归档