【发布时间】:2021-12-26 07:50:43
【问题描述】:
我有一个数据框nsdf,我想从中抽取 5% 的样本。 nsdf 看起来像这样:
我像这样采样nsdf:
sdf = nsdf.sample(0.05)
然后我想从nsdf 中删除sdf 中的行。现在,在这里我想我可以使用nsdf.subtract(sdf),但这会删除nsdf 中与sdf 中的任何行匹配的所有 行。例如,如果包含sdf
然后,nsdf 中的 每一 行将被删除,因为它们都是 7 或 8。有没有办法删除 仅 7 的数量出现在sdf 中的/8(或其他)?更具体地说,在此示例中,我希望得到一个 nsdf,它包含相同的数据,但少一个 7 和一个少 8 个。
【问题讨论】:
-
你不能只做一个
nsdf.sample(0.95)来获得想要的结果还是我错过了什么? -
@RicS 我不确定这是否是一种选择,尽管我很欣赏这种洞察力。我想我仍然必须使用
exceptAll()而不是subtract()在存在重复行的情况下删除采样行。
标签: python dataframe pyspark sample