如何使用LabeledPoint过滤RDD?

2024-04-20 09:36:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我的初始RDD看起来像:

RDD_int.collect() = [("a", 0, LabeledPoint(0, f01, f02, ..., f0n)), ("a", 1, LabeledPoint(0, f11, f12, ..., f1n)), ..., ("a", m, LabeledPoint(0, fm1, fm2, ..., fmn))]

我尝试以下操作:

RDD.filter(lambda x : "LabeledPoint" in x[2])

它不起作用

我希望得到这个:

RDD.collect() = [LabeledPoint(0, f01, f02, ..., f0n), LabeledPoint(0, f11, f12, ..., f1n), ..., LabeledPoint(0, fm1, fm2, ..., fmn)]

我怎样才能用pyspark的过滤器做到这一点? 谢谢你的帮助


1条回答
网友
1楼 · 发布于 2024-04-20 09:36:26

RDD.filter用于根据过滤条件从rdd中删除元素(“行”)

您可能希望maprdd的每个元素,以便在原始元组(String, Integer, LabeledPoint)中只保留第三个元素LabeledPoint

rdd = rdd.map(lambda t: t[2])

相关问题 更多 >