Python Pyspark-如何标记采样数据帧的部分?

Python Pyspark-如何标记采样数据帧的部分?,python,apache-spark,pyspark,apache-spark-sql,Python,Apache Spark,Pyspark,Apache Spark Sql,我采集了一个原始数据帧的样本,它提供了大约200000条记录。我想对样品进行标记,使其有三部分标记的记录。1/3的记录标记为sample\u metric\u 1,另1/3的记录标记为sample\u metric\u 2,其余记录标记为sample\u metric\u 3 sample_df = original_df.sample(False, .09, 5) 一种方法是将.withColumn()应用于数据帧的各个部分。但不确定如何从样本中正确提取所需的数据子集 或者这里有更好的方法?

我采集了一个原始数据帧的样本,它提供了大约200000条记录。我想对样品进行标记,使其有三部分标记的记录。1/3的记录标记为
sample\u metric\u 1
,另1/3的记录标记为
sample\u metric\u 2
,其余记录标记为
sample\u metric\u 3

sample_df = original_df.sample(False, .09, 5)
一种方法是将
.withColumn()
应用于数据帧的各个部分。但不确定如何从样本中正确提取所需的数据子集


或者这里有更好的方法?

您可以将一个
单调递增的\u id
分配给数据帧,然后将mod 3 wrt分配给它并将其分配给另一列。这将为您提供所需的三个子集。只需选择mod值。