scala - 将breeze.linalg.DenseMatrix[Double] 转换为Scala 中的数据框
问题描述
我有一个如下微风.linalg.DenseMatrix[Double],我想将其转换为数据框
breeze.linalg.DenseMatrix[Double] =
0.009748169568491553 3.04248345416453E-4 -0.0018493112842201912 8.200326863261204E-4
3.0424834541645305E-4 0.00873118653317929 6.352723194418622E-4 1.84118791655692E-5
-0.001849311284220191 6.35272319441862E-4 0.008553284420541575 -6.407982513791382E-4
8.200326863261203E-4 1.8411879165568983E-5 -6.407982513791378E-4 0.008413484758510377
有什么办法可以做到吗?
解决方案
经过几次尝试,我能够创建一个包含矩阵扁平信息的数据框。并创建一个临时视图,以便从 python 访问作为数据框
在斯卡拉
// covarianceMatrix (in scala)
val c = covarianceMatrix.toArray.toSeq
val covarianceMatrix_df = c.toDF("number")
covarianceMatrix_df.createOrReplaceTempView("covarianceMatrix_df")
在蟒蛇
covarianceMatrix_df=spark.sql('''SELECT * FROM covarianceMatrix_df ''')
covarianceMatrix_pd = covarianceMatrix_df.toPandas()
nrows = np.sqrt(len(covarianceMatrix_pd))
covarianceMatrix_pd = covarianceMatrix_pd.to_numpy().reshape((int(nrows),int(nrows)))
covarianceMatrix_pd
推荐阅读
- angular - Angular项目未显示在浏览器上
- generics - “使 N 的形式参数类型适应 M 的类型参数”是否意味着特定于类型系统?
- xamarin.forms - 在代码中从侧面拉出导航抽屉
- firebase - Google Cloud Task 未调用 http 请求
- visual-studio-app-center - 使用 CLI 将环境变量发送到 Visual Studio 应用中心
- java - 如何复制 ArrayList 的一部分,更改并添加到同一个 ArrayList?
- c - 我需要弄清楚如何从输入数组中跳过星期几
- assembly - 有没有办法将不兼容的指针类型转换为 c 中的不同指针类型?
- javascript - 为什么我的 res.sendFile() 将 html 发送到浏览器控制台而不是呈现新的 html 页面?
- javascript - Vue.js 使用“数字”道具类型编译错误