在 Pyspark 中将稀疏向量转换为密集向量

2024-03-14

我有一个像这样的稀疏向量

>>> countVectors.rdd.map(lambda vector: vector[1]).collect()
[SparseVector(13, {0: 1.0, 2: 1.0, 3: 1.0, 6: 1.0, 8: 1.0, 9: 1.0, 10: 1.0, 12: 1.0}), SparseVector(13, {0: 1.0, 1: 1.0, 2: 1.0, 4: 1.0}), SparseVector(13, {0: 1.0, 1: 1.0, 3: 1.0, 4: 1.0, 7: 1.0}), SparseVector(13, {1: 1.0, 2: 1.0, 5: 1.0, 11: 1.0})]

我正在尝试将其转换为 pyspark 2.0.0 中的密集向量,如下所示

>>> frequencyVectors = countVectors.rdd.map(lambda vector: vector[1])
>>> frequencyVectors.map(lambda vector: Vectors.dense(vector)).collect()

我收到这样的错误:

16/12/26 14:03:35 ERROR Executor: Exception in task 0.0 in stage 13.0 (TID 13)
org.apache.spark.api.python.PythonException: Traceback (most recent call last):
  File "/opt/BIG-DATA/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/worker.py", line 172, in main
    process()
  File "/opt/BIG-DATA/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/worker.py", line 167, in process
    serializer.dump_stream(func(split_index, iterator), outfile)
  File "/opt/BIG-DATA/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/serializers.py", line 263, in dump_stream
    vs = list(itertools.islice(iterator, batch))
  File "<stdin>", line 1, in <lambda>
  File "/opt/BIG-DATA/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/mllib/linalg/__init__.py", line 878, in dense
    return DenseVector(elements)
  File "/opt/BIG-DATA/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/mllib/linalg/__init__.py", line 286, in __init__
    ar = np.array(ar, dtype=np.float64)
  File "/opt/BIG-DATA/spark-2.0.0-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/ml/linalg/__init__.py", line 701, in __getitem__
    raise ValueError("Index %d out of bounds." % index)
ValueError: Index 13 out of bounds.

我怎样才能实现这种转换?这里有什么问题吗?


这解决了我的问题

frequencyDenseVectors = frequencyVectors.map(lambda vector: DenseVector(vector.toArray()))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Pyspark 中将稀疏向量转换为密集向量 的相关文章

随机推荐

  • 如何创建多语言 Android 应用程序?

    我想创建一个多语言 Android 应用程序 有没有办法检测用户喜欢哪种语言 是否有推荐的方法在 Android 上管理多种语言 或者我应该重新发明轮子 是的 有一个推荐的方法来管理多种语言 对于 Android 来说 多语言支持很容易完成
  • 无法弄清楚为什么我在 Swift iOS 应用程序代码中收到“Class ViewController has noinitializer”错误

    我试图在我的 iOS 应用程序中制作一个教程屏幕 用户可以在其中滑动几张图片来了解有关该应用程序的一些信息 一切看起来都很好 除了当我构建项目时 我在第一行代码中收到以下错误 ViewController 类没有初始化器 我做错了什么 我的
  • 按变量对轴文本进行颜色显示

    我想根据数据集中的另一个变量来改变热图轴文本的颜色 这是我到目前为止所尝试过的 load data scale numeric columns add state abbreviation and region state data lt
  • 在哪里可以找到详尽的停用词列表?

    我在哪里可以找到详尽的停用词列表 我的那篇文章很短 似乎不适用于科学文本 我正在创建词汇链以从科学论文中提取关键主题 问题是像这样的词based regarding等也应被视为停用词 因为它们没有太多意义 您还可以轻松添加到现有的停用词列表
  • Xcode 8 内存图显示“无选择”且无法工作

    我正在使用 Xcode 8 0 和 Swift3 处理一个项目 我想使用内存图调试器 但它什么也没显示 预期外观 来自教程 为什么我不能使用这个功能 该项目是使用 Xcode 8 创建的 不是从旧版本的 Xcode 迁移的 bitcode与
  • protractor 2.5.4 E/launcher - 会话未创建:此版本的 ChromeDriver 仅支持 Chrome 版本 79

    我进行了大量研究并使用了各个论坛中提到的许多可能的解决方案 但没有一个对我有用 我试图在 CI CD 管道中运行它 尽管能够在本地运行量角器测试用例并能够启动浏览器 但在 CI CD 管道构建中它失败了 详细信息如下 我在 package
  • 更改已验证应用程序的应用程序名称 - Google OAuth 同意屏幕

    我有一个经过验证的应用程序 我想更改 OAuth 同意屏幕应用程序名称 仅应用程序名称 为了做到这一点 似乎我需要再次重新验证这一点 但我的应用程序现在已经在生产中 如果我提交它进行验证 当前已验证的 OAuth 屏幕是否会突然显示为未验证
  • Python 正则表达式的 unicode 文本中使用的字边界

    我想在正则表达式中使用单词边界来匹配一些 unicode 文本 Unicode 字母在 Python 正则表达式中被检测为单词边界 如下所示 gt gt gt re search r by b y lt sre SRE Match obje
  • 如何正确卸载python jupyter?

    I have jupyter安装有python3 5 on my Mac OSX 但我想要python2 7版本 所以 我基本上需要卸载3 5版本 然后重新安装2 7版本 但由于某种原因我无法卸载3 5版本 我试过sudo python3
  • Python中使用行数作为输入变量分割大文本文件的快速方法

    我使用行数作为变量来分割文本文件 我编写这个函数是为了将吐出的文件保存在临时目录中 除最后一个文件外 每个文件有 4 百万行 import tempfile from itertools import groupby count temp
  • 如何避免 AS3 代码混乱

    我使用 ActionScript 3 进行编程已经有一段时间了 我注意到我的代码的自然进展似乎采用一个巨大的文档类的形式 其中包含数十个成员变量 回调和舞台上对象的句柄 简而言之 有点乱 问题是 我真的没有找到解决办法 至少目前还没有 我在
  • 不使用提交按钮提交表单

    我正在使用表单提交数据以从数据库中获取记录 在表单中 我使用两个选择标签选项 因此 选择选项后 表单应提交不使用提交按钮 我正在等待选择输入后提交表单的响应 而不使用它应该自动提交的提交按钮 或任何按钮 创建一个函数来检查您想要的所有内容是
  • 在java中连接两个json对象

    我想连接多个 json 对象 我有两个像这样的json message test status 0 and this message test 2 status 1 结果必须是 message test status 0 message t
  • Kotlin 多平台“转到声明”转到反编译代码

    当使用 Android Studio 的 转到声明 功能 cmd 单击 时 尽管源位于我的项目中 但会显示反编译的源 kotlin MP 源位于另一个模块中 我可以使用 选择源 选项连接源 但是我必须对每个文件执行此操作 是否有用于连接到正
  • Azure B2C 问题和疑问

    我已经使用 Azure B2C 几天了 有一些问题和疑问 它创建的用于重定向登录的 URL 格式不正确 它包含两次问号 在网址之后 在配置文件名称之后再次 这会在您每次登录 注销等时导致 404 未找到错误 例如 它尝试重定向到的登录 UR
  • C# 空条件运算符和等待错误

    在 C 中使用新的 null 条件运算符时 我遇到了一个有趣的 System NullReferenceException 如果 MyObject 为 null 以下代码将给出 NullReferenceException await th
  • 如何从我的 MySQL 表中删除约束?

    我想从我的表中删除约束 我的查询是 ALTER TABLE tbl magazine issue DROP CONSTRAINT FK tbl magazine issue mst users 但我收到一个错误 1064 您的 SQL 语法
  • 从 RGB 整数转换为十六进制

    我拥有的是 R 255 G 181 B 178 我正在 C 中工作 对于 WP8 更具体地说 我想将其转换为十六进制数字以用作颜色 以设置 WriteableBitmap 的像素颜色 我正在做的事情如下 int hex 255 lt lt
  • 调整绘图标题(主要)位置

    我一直无法找到一种方法来使用 par 来调整 R 中绘图和主标题之间的 垂直 距离 在这个例子中 plot 1 1 main Title 我可以使用以下方法调整轴标题的位置 par mgp c 2 5 1 0 但我认为没有办法类似地调整主标
  • 在 Pyspark 中将稀疏向量转换为密集向量

    我有一个像这样的稀疏向量 gt gt gt countVectors rdd map lambda vector vector 1 collect SparseVector 13 0 1 0 2 1 0 3 1 0 6 1 0 8 1 0