相关疑难解决方法(0)

从1D numpy阵列获得这种矩阵的最有效方法是什么?

我有一个总值为的文件4950:

0.012345678912345678
Run Code Online (Sandbox Code Playgroud)

我使用以下方式读取文件:

a = numpy.genfromtxt(file_name, dtype=str, delimiter=',') # a.shape = (4950L, 1L) #dtype=str as I don't want to compromise accuracy
#say a == ['0.000000000000000001', -'0.000000000000000002', ...., '0.000000000004950']
Run Code Online (Sandbox Code Playgroud)

我想要实现的是获得一个b大小(100L, 100L)的矩阵:

  1. 上三角值用numpy数组'a'中的值填充.
  2. 较低的三角形值用numpy数组'a'中的值填充,但乘以-1.
  3. 对角线仅由零组成.

示例(准确性很重要):

array = ['1','2','-3','-5','6','-7'] # In reality the data is up to 18 decimal places.

final_matrix = [
               ['0','1','2','-3'],
               ['-1',0,'-5','6'],
               ['-2','5','0','-7'],
               ['3','-6','7','0']
               ]
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最有效方法是什么?

python numpy

0
推荐指数
1
解决办法
228
查看次数

标签 统计

numpy ×1

python ×1