python - 如何使用 LabeledPoint 过滤 RDD?
问题描述
我的初始 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)]
如何使用 .filter 的 pyspark 做到这一点?谢谢你的帮助。
解决方案
RDD.filter用于根据过滤条件从 rdd中删除元素(“行”) 。
您可能希望映射rdd 的每个元素,以便在原始元组中(String, Integer, LabeledPoint)
仅保留第三个元素( the LabeledPoint
):
rdd = rdd.map(lambda t: t[2])
推荐阅读
- promise - Javascript Promise resolve 方法在控制台中打印。如何?
- python - 您可以通过 Tkinter 接口读取和写入 exe 文件吗
- c++ - Clang C++ 程序未在 Windows 上运行
- github - 使用 API 在工作流运行/github 操作之间共享工作流工件
- python - 如何创建无需激活即可使用的环境?
- dataframe - Pyspark 将数据帧写入 csv 文件并保存会出错
- php - Laravel 5.8 和 PHP 7.3 版 - 无法安装 spatie laravel-query-builder
- css - 如何将四列包装成引导轮播幻灯片
- javascript - React Ant Design - 在功能组件中生成列的最佳位置
- embedded-linux - 如何找到 runqemu 错误的解决方案?