我是 Scala 的新手。对于某些应用程序,将其视为 MATLAB 的替代品。
我想在 Scala 中编写一个包装类,以便能够将列名(“QuantityQ”&&“QuantityP”-> Range)和行名(日期-> Range)分配给 Breeze DenseMatrices(http://www. scalanlp.org/)以引用列和行。
用法应该类似于 Python Pandas 或 Scala Saddle ( http://saddle.github.io )。Saddle 非常有趣,但它的使用仅限于 2D 矩阵。一个巨大的限制。
我的想法:
Columns: 我认为 Map 可以完成列的工作,但这可能不是最好的实现。
行: 对于行,我可以使用时间戳维护一个单独的 Breeze 向量,并提供将日期转换为时间戳的方法,通过 Breeze 进行数字运算。这会失去一般性,因为用户可能希望为行指定任何字符串名称。关于我使用 nscala-time (joda 的 scala 包装器)的日期?
- 我的实施有什么缺点?
- 你会以不同的方式设计数据结构吗?
谢谢您的帮助。