如何在 Scala 中将 CSV 列读入向量

2023-12-10

我有一个 CSV 文件:我的 CSV 文件

我想创建一个这样的地图:

((A -> Vector(10.75,10.75,10.47,...,..), B-> Vector(164.56,164.99,160.98,...), C -> Vector(7.1,7.4,9.4,...,), D - > Vector(14.2,14.8,18.8,...,..))

这是我到目前为止所拥有的(不多):

val source=Source.fromFile("train3.csv")
var firstLine = source.getLines.find(_ => true).get
println(firstLine)
source.getLines().foreach(line=>{
  val lines = line.split(",").map(_.trim).toVector
  println(cols)
})
source.close()

此代码打印此内容:我的代码打印什么

我的向量包含行,我需要我的向量包含列,而不是 CSV 中的行。


首先,请不要将重要的文字信息作为图像发布。我们无法从图像中复制粘贴。

我创建了一个较小的测试文件,如下所示:

A,B,C
10.75,10.75,10.47
164.56,164.99,160.98
7.1,7.4,9.4
14.2,14.8,18.8

就位后,我通过这段代码运行了它。

util.Using(io.Source.fromFile("train3.csv")){
  _.getLines()
   .map(_.split(","))
   .toVector
   .transpose
   .groupMapReduce(_.head)(_.tail.map(_.toFloat))(_++_)
}  //file is auto-closed

//res0: Try[Map[String,Vector[Float]]] =
// Success(Map(A -> Vector(10.75, 164.56, 7.1, 14.2)
//           , B -> Vector(10.75, 164.99, 7.4, 14.8)
//           , C -> Vector(10.47, 160.98, 9.4, 18.8)))

这将返回Failure()如果文件无法打开,或者行长度不一致,或者数字字符串无法转换。 (这可能不是必需的。我只是认为这是可取的。)

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

如何在 Scala 中将 CSV 列读入向量 的相关文章

  • Scala 2.10、Double.isNaN 和拳击

    在 Scala 2 10 中 是someDouble isNaN预计装箱 运行我的代码调用 isNaN通过反编译器 我仍然看到对double2Double在我的代码中 鉴于新的AnyVal在 2 10 中工作 我希望它不会比java lan
  • Scala 中使用转义特殊字符解码字符串问题

    我有一个多行 JSON 文件 其中包含编码为十六进制的特殊字符的记录 以下是单个 JSON 记录的示例 x22value x22 x22 xC4 xB1arines Bint xC4 xB1 xC3 xA7 Ramu xC3 xA7lar
  • 如何从 Scala repl 中取消导入隐式?

    是否可以从 repl 中取消导入隐式内容 说我做这样的事情 scala gt import scala math BigInt import scala math BigInt scala gt implicits 2 implicit m
  • 简单的 Scala actor 问题

    我确信这是一个非常简单的问题 但很不好意思地说我无法理解它 我有一个 Scala 值列表 我想使用演员来并行地对每个值进行一些 外部 调用 我想等到所有值都已处理完毕 然后继续 没有共享值被修改 有人可以建议吗 Thanks Scala 中
  • 将列表拆分为多个具有固定元素数量的列表

    如何将元素列表拆分为最多包含 N 个项目的列表 例如 给定一个包含 7 个元素的列表 创建 4 个组 最后一组可能包含较少的元素 split List 1 2 3 4 5 6 seven 4 gt List List 1 2 3 4 Lis
  • Spark:用列的平均值替换数据框中的空值

    如何创建 UDF 以编程方式将每列中 Spark 数据框中的空值替换为列平均值 例如 在示例中 数据 col1 空值的值为 2 4 6 8 5 5 5 示例数据 col1 col2 col3 2 null 3 4 3 3 6 5 null
  • Scala 组合器解析器 - 区分数字字符串和变量字符串

    我正在做 Cay Horstmann 的组合器解析器练习 我想知道区分代表数字的字符串和代表匹配语句中变量的字符串的最佳方法 def factor Parser ExprTree wholeNumber expr ident case a
  • Scala - 如何解决“值不是 Nothing 的成员”错误

    此示例代码基于 Atmosphere 类 但如果有人可以让我了解该错误的一般含义 我想我可以找出任何特定于 Atmosphere 的解决方案 val bc BroadcasterFactory getDefault lookup broad
  • 如何使用 apply/unapply 方法重现案例类行为?

    我尝试用普通类和伴生对象替换案例类 但突然出现类型错误 编译良好的代码 综合示例 trait Elem A B def C other Elem C A Elem C B other match case Chain head tail g
  • Scala:具有复杂结构的树插入尾递归

    我正在 scala 中创建自定义对象树 并且我的插入方法引发堆栈溢出 因为它不是尾递归 但是 我不太清楚如何使其尾递归 我见过使用 累加器 变量的相关示例 但它们要么是只能相乘和覆盖的整数之类的东西 要么是我在适应树时遇到困难的列表 这是我
  • Scala 相当于 Java 的 Number

    我正在尝试为数值域类型构建类型层次结构 例如AYear is an Int 这是一个Number a Percentage is a Double 这是一个Number等等 我需要层次结构以便我可以调用toInt or toDouble关于
  • 如何发现 Scala 远程 Actor 已死亡?

    在 Scala 中 当另一个 远程 actor 终止时 可以通过设置 trapExit 标志并以第二个 actor 作为参数调用 link 方法来通知一个 actor 在这种情况下 当远程参与者通过调用 exit 结束其工作时 第一个参与者
  • Source.getLines 中的默认参数错误 (Scala 2.8.0 RC1)

    假设我运行 Scala 2 8 0 RC1 以下 scala 代码应该打印出文件 c hello txt 的内容 for line lt Source fromPath c hello txt getLines println line 但
  • 通用特征的隐式转换

    我正在实现一个数据结构 并希望用户能够使用任何类型作为密钥 只要他提供一个合适的密钥类型来包装它 我有这个关键类型的特质 这个想法是进行从基类型到键类型的隐式转换 反之亦然 实际上 只使用基类型 该特征看起来像这样 trait Key T
  • Scala 如何忽略 Java 的检查异常?

    例如如果调用 JavaThread sleep这会抛出一个已检查的InterruptedException来自 Scala 源文件 然后不需要将调用包含在 Scala 中try catch Scala 如何删除将调用包围在 a 中的规则tr
  • 如何在 Scala 中打印任何内容的列表?

    目前我有一个打印整数的方法 def printList args List Int Unit args foreach println 我如何修改它 使其足够灵活 可以打印任何内容的列表 您不需要专用的方法 所需的功能已经在集合类中 pri
  • Java 表达式树 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有相当于 net的 LINQ 下的表达式树JVM 我想实现一些类似 LINQ 的代码结构Scala
  • 为什么《Scala 中的函数式编程》一书的“无异常处理错误”一章中没有提到“scala.util.Try”?

    在 Scala 中的函数式编程 一书中的 无异常处理错误 一章中 作者给出 从函数体抛出异常的问题 Use Option如果我们不关心实际的异常 Use Either如果我们关心实际的异常 But scala util Try没有提到 从我
  • 对 Scala Not Null 特征的库支持

    Notice 从 Scala 2 11 开始 NotNull已弃用 据我了解 如果您希望引用类型不可为空 则必须混合魔法NotNull特征 编译器会自动阻止你输入null 可以值在里面 看到这个邮件列表线程 http www nabble
  • 类型级编程有哪些示例? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我不明白 类型级编程 是什么意思 也无法使用Google找到合适的解释 有人可以提供一个演示类型级编程的示例吗 范式的解释和 或定义将

随机推荐

  • 如何在 Windows 上使用 MinGW 构建 OpenCV 3.2.0 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 这篇文章包含了我 和其他用户 在从源代码构建库时遇到的所有问题 由于没有教程 我决定创建此类常见问题解答帖子 将所有解决方案放在一起 希望它会有所帮助 配置 OpenCV 3 2
  • 需要获取字符串中第二个破折号之后的所有内容吗?

    我有如下的字符串值 string str1 123 456 test string str1 123 456 test test string str1 123 REQ456 test string str1 123 REQ456 test
  • Scala:列表[Future]到Future[List],忽略失败的未来

    我正在寻找一种将任意长度的 Future 列表转换为 Future of 列表的方法 我正在使用 Playframework 所以最终我真正想要的是Future Result 但为了让事情变得更简单 我们只是说Future List Int
  • Java 十进制格式 - 与给定的精度一样

    我正在与DecimalFormat 我希望能够以给定的精度读取和写入小数 我正在转换为BigDecimal 本质上 我想要一个DecimalFormat它强制执行以下模式 d d 即 至少一位数字 然后可选地 小数点分隔符后跟至少一位数字
  • 在 WPF 中填充数字显示

    我有一个非常简单的位置读数 它只是一个应用了样式的 TextBlock 在那种样式中 我只是这样设置 还有比这更多的属性 但为了简洁我把它们去掉了 现在 我有一个使用这种样式的显示器 它将显示 0 0 到 30000 0 之间的数字 问题是
  • 如何让 VLC 因预取错误而关闭?

    Python 2 7 lib vlc 不断打印 00000000081257d0 prefetch stream error unimplemented query 264 in control每当有新歌响起时 p play 导致了这个问题
  • 使用自修改代码观察 x86 上的陈旧指令获取

    我被告知并从英特尔手册中读到 可以将指令写入内存 但指令预取队列已经获取了过时的指令并将执行这些旧指令 我未能成功观察到这种行为 我的方法如下 英特尔软件开发手册第 11 6 节指出 对当前缓存在处理器中的代码段中的内存位置进行写入会导致关
  • 如何在 Neo4j 中使用 SSL 证书代替自签名证书(或 Snakeoil.cert)

    对于生产 Neo4j 服务器 我需要使用非自签名的 SSL 证书 我将在下面的回复中发布经验教训 sudo vi etc neo4j neo4j server properties uncomment org neo4j server we
  • MySql 嵌套 SP 会成为瓶颈吗?

    我们有这个 MySQL SP 它调用嵌套 SP 看起来它在负载下表现不佳 该 SP 在负载下可能会变慢 因为它调用嵌套 SP 并使用临时表将数据传递到主 SP DELIMITER drop procedure if exists GeoAr
  • SWT 浏览器无法运行?

    我在使用 SWT 浏览器组件时遇到了一些问题 我正在运行 Ubuntu 11 04 AMD64 和 Eclipse 3 7 以及 Sun 的 Java SE 1 6 我的问题是我的浏览器无法初始化 当我使用 SWT NONE 标志时 出现错
  • Symfony2 表单和 Doctrine2 - 更新指定实体中的外键失败

    我有个人资料和研究 一个人可以完成多项学业 表单正确呈现 有一个按钮 添加新研究 使用 jQuery 我添加了另一个基于数据原型的子表单 效果很好 当我提交带有新子表单的此类表单时 出现数据库错误 Integrity constraint
  • 如何选择最佳的自动化工具与硒的组合[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 这可能是基于意见的问题 但我对选择自动化工具组合感到非常困惑 到目前为止 我一直在使用 Selenium webdriver maven 和 Java 来构建自动化框架 这看起来完全工作正
  • 如何在谷歌应用程序脚本中的表单项中获取图像

    我有多个多项选择题和其中包含图像的复选框 我正在尝试将所有问题编译成一个文档文件 如何获取问题中的图像 它们不在单独的图像项中 https docs google com forms d 1qdqNcaaiKxOoi4IiNc 3xcr1X
  • MySQL - 使用触发器复制表

    我正在尝试复制一个表with触发器 我知道我以前这样做过 只是不记得我是如何做到的以及在哪里学会了如何做到这一点 我试过了CREATE TABLE newname LIKE oldname and CREATE TABLE newname
  • 找出哪个类调用了另一个类中的方法

    PHP 有没有办法找出哪个对象调用了另一个对象中的哪个方法 Exmaple class Foo public function construct bar new Bar bar gt test class Bar public funct
  • 使用 Apache FOP 添加 PDF 可填写表单 (acrofield)

    我正在尝试将可填写的表单 以便最终用户可以使用 acrobat reader 将信息插入其中 然后保存 添加到我使用 Apache FOP 生成的 PDF 中 如果可能的话 我似乎找不到任何有关如何完成此操作的信息 Google 没有提供太
  • android 改造将数组发送为 x-www-form-urlencoded

    我正在使用 Retrofit 作为我的网络库 并且我想发送一个 JSON 数组作为x www form urlencoded 但我不知道该怎么做 这是我的请求 API POST book FormUrlEncoded Call
  • 表达式中的变量赋值如何工作?

    这是我以前见过的做法 但并不常见 在对值本身进行求值的同时将变量分配给一个值 或者是对表达式本身进行求值 例子 Outputs The value is 1 value 1 if var value echo The value is va
  • Ext.JSON.decode():您正在尝试解码无效的 JSON 字符串

    我对此很陌生 两周以来一直在尝试解决我的问题 现在希望您能提供帮助 我的 JSON 输出似乎无效 但我不确定我的问题是来自 PHP 还是 extjs 脚本 我有一个组合框 当我单击它时 它应该显示一个选项列表 该列表基本上来自 Sql 表
  • 如何在 Scala 中将 CSV 列读入向量

    我有一个 CSV 文件 我的 CSV 文件 我想创建一个这样的地图 A gt Vector 10 75 10 75 10 47 B gt Vector 164 56 164 99 160 98 C gt Vector 7 1 7 4 9 4