如何在PySpark Dataframe中的两列上进行分层采样?

问题描述

我想根据ID和它们所属的comm_type对下面的数据集进行采样;相同的ID可以具有多个comm_type,数据集非常庞大,因此我想对一百万个较小的ID进行更进一步的分析; 我看到有一个sampleBy(col,fractions,seed = None)方法可以执行此操作,但是我需要按comm_type对数据进行分组,然后按ID进行采样,因此我正在努力找出执行此操作的最佳方法。数据集中还有其他字段,但需要在这两列上进行采样。

comm_type的分数应与DF中的原始数据匹配, E = 0.5,M = 0.4,P = 0.1,原始DF中的唯一ID约为19 M,我只需要对数据集中的1 M样本进行采样,并使comm_type分数与原始数据集一致。

enter image description here

将感谢您的帮助或指导。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)