从文本文件读取矩阵到numpy

Homap

我正在使用仅以以下格式输出对称矩阵的上三角的软件:

         2       3       4       5       6       7       8     
1:   -0.00    0.09    0.03   -0.27   -0.28    0.83   -0.31  
2:            0.09    0.03   -0.26   -0.28    0.83   -0.31
3:                    0.00    0.11    0.11    0.33    0.10 
4:                            0.03    0.03   -0.00    0.03 
5:                                   -0.02    0.91   -0.04 
6:                                            0.92   -0.03 
7:                                                    0.91 

我想在热图中绘制此矩阵。但是,在将此文本文件读取到数据结构中时遇到问题。我如何将这个文本文件转换为例如numpy可以用作绘图矩阵的数组?

谢谢!

笨狼

如果我正确读取了文本文件,则可以使用带有空格分隔符的熊猫读取文件:

import pandas as pd
import numpy as np
dat = pd.read_csv("test.txt",index_col=0,delimiter='\s+').to_numpy()

看起来像这样:

array([[-0.  ,  0.09,  0.03, -0.27, -0.28,  0.83, -0.31],
       [ 0.09,  0.03, -0.26, -0.28,  0.83, -0.31,   nan],
       [ 0.  ,  0.11,  0.11,  0.33,  0.1 ,   nan,   nan],
       [ 0.03,  0.03, -0.  ,  0.03,   nan,   nan,   nan],
       [-0.02,  0.91, -0.04,   nan,   nan,   nan,   nan],
       [ 0.92, -0.03,   nan,   nan,   nan,   nan,   nan],
       [ 0.91,   nan,   nan,   nan,   nan,   nan,   nan]])

所以我们只需要反转nan:

idx = np.arange(dat.shape[1])
arr = np.empty(dat.shape)
for i in range(dat.shape[1]):
    arr[i] = dat[i][np.concatenate([idx[-i:],idx[:-i]])]

最终结果如下所示:

arr

array([[-0.  ,  0.09,  0.03, -0.27, -0.28,  0.83, -0.31],
       [  nan,  0.09,  0.03, -0.26, -0.28,  0.83, -0.31],
       [  nan,   nan,  0.  ,  0.11,  0.11,  0.33,  0.1 ],
       [  nan,   nan,   nan,  0.03,  0.03, -0.  ,  0.03],
       [  nan,   nan,   nan,   nan, -0.02,  0.91, -0.04],
       [  nan,   nan,   nan,   nan,   nan,  0.92, -0.03],
       [  nan,   nan,   nan,   nan,   nan,   nan,  0.91]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

读取文本文件到数组

来自分类Dev

如何从R中的文本文件读取矩阵

来自分类Dev

从C中的文本文件读取矩阵

来自分类Dev

从Julia中的文本文件读取数据矩阵

来自分类Dev

如何从R中的文本文件读取矩阵

来自分类Dev

在python中读取矩阵文本文件

来自分类Dev

从文本文件读取数据到python中的numpy数组中

来自分类Dev

从文本文件中读取 n 维复数数组到 numpy

来自分类Dev

将文本文件导入为numpy中的矩阵

来自分类Dev

Matlab编写矩阵到文本文件的问题

来自分类Dev

Python从矩阵到简单文本文件

来自分类Dev

使用numpy从文本文件中读取文件

来自分类Dev

从文本文件读取

来自分类Dev

从文本文件读取

来自分类Dev

读取文本文件而不复制到硬盘

来自分类Dev

从资产中的文本文件读取行到数组

来自分类Dev

从文本文件读取行到结构C

来自分类Dev

如何读取从文本文件到二维矩阵的一行中的每个字符?

来自分类Dev

从文本文件创建矩阵-python

来自分类Dev

从文本文件创建矩阵

来自分类Dev

我如何从python我的数据集中的文本文件读取并在其上应用矩阵

来自分类Dev

读取文本文件并将其保存在基于Matlab Matlab的多个矩阵中

来自分类Dev

读取纯文本文件

来自分类Dev

从原始资源文本文件读取

来自分类Dev

从GUI读取文本文件

来自分类Dev

Android精确读取文本文件

来自分类Dev

在Delphi中读取文本文件

来自分类Dev

Windows Phone从文本文件读取

来自分类Dev

从文本文件读取特定值