Numpy - Declare一个特定的nx 1数组

pepwfjgg  于 5个月前  发布在  其他
关注(0)|答案(4)|浏览(96)

我在python中使用numpy,为了创建一个nx1矩阵。我希望矩阵的第1个元素是3,第2-1,然后是n-1个元素-1,最后是n个元素3。所有之间的元素,也就是说,从元素3到元素n-2应该是0。我把上面提到的矩阵画了一个图,是这样的:x1c 0d1x
我是python的新手,使用numpy,但似乎是一个管理矩阵的好工具。到目前为止,我尝试的是创建nx1数组(给n一些值)并将其初始化为0

import numpy as np

n = 100

I = np.arange(n)

matrix = np.row_stack(0*I)

print("\Matrix is \n",matrix)

字符串
有什么线索告诉我该怎么做吗?或者该用什么套路?

8ehkhllq

8ehkhllq1#

最简单的方法可能就是做以下事情:

import numpy as np

n = 10
a = np.zeros(n)

a[0] = 3
a[1] = -1
a[len(a)-1] = 3
a[len(a)-2] = -1

>>print(a)
output: [ 3. -1.  0.  0.  0.  0.  0.  0.  -1. 3.]

字符串
希望这能有所帮助;)

t3irkdon

t3irkdon2#

In [97]: n=10                                                                   
In [98]: arr = np.zeros(n,int)                                                  
In [99]: arr[[0,-1]]=3; arr[[1,-2]]=-1                                          
In [100]: arr                                                                   
Out[100]: array([ 3, -1,  0,  0,  0,  0,  0,  0, -1,  3])

字符串
很容易变成(n,1):

In [101]: arr[:,None]                                                           
Out[101]: 
array([[ 3],
       [-1],
       [ 0],
       [ 0],
       [ 0],
       [ 0],
       [ 0],
       [ 0],
       [-1],
       [ 3]])

jrcvhitl

jrcvhitl3#

N = 100 # you can set to whatever number you want
a = np.zeros((N,1)) # you must specify the dimension as a tuple if you want exactly Nx1 array.
a[0]=3
a[1]=-1
a[-1]=3
a[-2]=-1

字符串

xuo3flqw

xuo3flqw4#

我想有效的方法是:

import numpy as np

n = 100

I = np.arange(n)

matrix = np.row_stack(0*I)
matrix[0]=3
matrix[1]=-1
matrix[n-2]=-1
matrix[n-1]=3

print("\Matrix is \n",matrix)

字符串


的数据

相关问题