apache-spark - PySpark 样本按每列不同的分数
问题描述
我有一个数据框df
,其中包含一列"freq"
,每一行代表该行被选择用于输出的概率。我目前正在使用 sampleBy 进行采样:
frac = dict(
(e.freq, e.freq)
for e
in df.select("freq").distinct().collect()
)
result = df.sampleBy("freq", fractions = frac)
这是受this启发的,但看起来不太干净。有没有办法做同样的事情来避免创建一个像lambda x: x
编辑:
说数据集是
+-----+----+----
| Name|freq| other columns
|Alice| 0.3|
| Bob| 0.2|
| Joe| 0.3|
...
我希望最终的数据帧包含 Alice 和 Joe 的行,每个行的概率为 0.3,Bob 的行的概率为 0.2,依此类推。
解决方案
推荐阅读
- html - NodeJS 未检测或删除抓取的 HTML 中的问号 (?)
- azure-databricks - 将 Databricks 数据帧写入 BLOB 存储
- mysql - 如何在 mysql 的表中获取每个日期的唯一 SKU 计数(自学问题)
- java - Maven包含依赖删除一个
- javascript - 将对象数组附加到 HTML 文件中
- java - List all subpackages of a package (when their classes are loaded dynamically)
- amazon-web-services - Terraform 用户 TF_VAR 不工作的嵌套模块
- django - Django how to link tableCheckBoxColumn to DB entry
- azure - Read a csv in azure notebooks
- sql-server - SSRS - 如何将日期/时间参数的格式设置为 yyyy-mm-dd hh:mm:ss?