小编Naf*_*ees的帖子

如何在文本文件中编写numpy矩阵 - python

假设我从一些计算得到一个numpy矩阵.这是我的numpy矩阵'result1'::

    result1=
    [[   1.         0.         0.         0.00375   -0.01072   -0.      -1000.     ]
     [   2.         3.         4.         0.        -0.004    750.         0.     ]
     [   3.         3.         0.         0.         0.      -750.      1000.     ]]
Run Code Online (Sandbox Code Playgroud)

现在我想在名为'result.txt'的文本文件中写这个矩阵.为此,我写了以下代码::

np.savetxt('result.txt', result1, fmt='%.2e')
Run Code Online (Sandbox Code Playgroud)

但是它给了我一行矩阵的所有元素.

    1.00e+00 0.00e+00 0.00e+00 3.75e-03 -1.07e-02 -1.14e-13 -1.00e+032.00e+00 3.00e+00 4.00e+00 0.00e+00 -4.00e-03 7.50e+02 0.00e+003.00e+00 3.00e+00 0.00e+00 0.00e+00 0.00e+00 -7.50e+02 1.00e+03
Run Code Online (Sandbox Code Playgroud)

我想以适当的矩阵格式在文本文件中编写矩阵.我怎样才能做到这一点?我使用了关键字newline ='\n'或newline ='',但结果是一样的.

提前致谢...

=======

这个编辑的部分是为@Warren

试试这个:

>>> import numpy as np
>>> mat=np.matrix([[1, 2, 3],[4, 5, 6],[7, 8, 9]])
>>> mat
matrix([[1, 2, 3],
        [4, 5, …
Run Code Online (Sandbox Code Playgroud)

python numpy matrix text-files

9
推荐指数
2
解决办法
5万
查看次数

numpy python中的"IndexError:索引太多了"

我知道很多人都问过这个问题,但我找不到能解决问题的合适答案.

我有一个数组X ::

    X=
    [1. 2. -10.]
Run Code Online (Sandbox Code Playgroud)

现在我试图让矩阵Y读取这个X数组.我的代码是::

#   make Y matrix

Y=np.matrix(np.zeros((len(X),2)))
i=0

while i < len(load_value):
    if X[i,1] % 2 != 0:
        Y[i,0] = X[i,0]*2-1
    elif X[i,1] % 2 == 0:
        Y[i,0] = X[i,0] * 2
    Y[i,1] = X[i,2]
    i = i + 1
print('Y=')
print(Y)
Run Code Online (Sandbox Code Playgroud)

现在,如果我运行它,它会给出以下错误::

    Traceback (most recent call last):
      File "C:\Users\User\Desktop\Code.py", line 251, in <module>
        if X[i,1] % 2 != 0:
    IndexError: too many indices
Run Code Online (Sandbox Code Playgroud)

在这里,我的数组只有一行.如果我使用2行或更多行创建数组X,它不会给我任何错误.只有当X数组有1行时,它才会给出错误.现在,就我而言,数组X可以有任意数量的行.它可以有1行或5行或100行.我想编写一个代码,可以读取任意数量的行X而没有任何错误.我怎么解决这个问题?

提前致谢....

python arrays indexing numpy

4
推荐指数
1
解决办法
1万
查看次数

如何从Python中的文本文件中读取两个数组或矩阵?

我是编程和python的新手.所以我面临很多问题.我需要一些帮助来阅读python中的文本文件.

在我的输入文本文件中,我有两个带有一些字符串的数据数组.

HEAD1
1 0 0
2 3 4
3 3 0
END1

HEAD2
2 3 4
8 7 5
1 0 7
END2
Run Code Online (Sandbox Code Playgroud)

现在我希望python读取此文件并将这两个数组存储为2个数组或2个矩阵.数组大小不固定,可以是任何大小.Python必须按头和尾决定大小.我该怎么做?

我试过numpy.loadtxt和numpy.getfromtxt.In numpy.getfromtxt,我得到了字符串的错误.没有字符串,它将这两个数组组成1个数组.

这是试图做的,但不能做到....

import math as m
import numpy as np

file_name=input("Input file name(with extension):")
file=open(file_name,'r')

line=file.readline()
while line!= '':
    print(line,end='')
    line=file.readline()

##table=np.loadtxt(file_name)
##print('table=')
##print(table)
##
table2=np.genfromtxt(file_name,comments='#') 
print('table2=')
print(table2) 
Run Code Online (Sandbox Code Playgroud)

python arrays numpy matrix text-files

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

标签 统计

numpy ×3

python ×3

arrays ×2

matrix ×2

text-files ×2

indexing ×1