你快到了。
你需要的是以下几点:
u[row_col_index[0], row_col_index[1]] = u_pres
说明:
既然你说你是在Python初学者(!我太),我想我可能会告诉你这个;它被认为是unpythonic加载一个模块,你所做的一切:
#BAD
from numpy import *
#GOOD
from numpy import array #or whatever it is you need
#GOOD
import numpy as np #if you need lots of things, this is better
说明:
In [18]: u = np.zeros(10)
In [19]: u
Out[19]: array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
#1D assignment
In [20]: u[0] = 1
In [21]: u[1] = 10
In [22]: u[-1] = 9 #last element
In [23]: u[-2] = np.pi #second last element
In [24]: u
Out[24]:
array([ 1. , 10. , 0. , 0. ,
0. , 0. , 0. , 0. ,
3.14159265, 9. ])
In [25]: u.shape
Out[25]: (10,)
In [27]: u[9] #calling
Out[27]: 9.0
#2D case
In [28]: y = np.zeros((4,2))
In [29]: y
Out[29]:
array([[ 0., 0.],
[ 0., 0.],
[ 0., 0.],
[ 0., 0.]])
In [30]: y[1] = 10 #this will assign all the second row to be 10
In [31]: y
Out[31]:
array([[ 0., 0.],
[ 10., 10.],
[ 0., 0.],
[ 0., 0.]])
In [32]: y[0,1] = 9 #now this is 2D assignment, we use 2 indices!
In [33]: y[3] = np.pi #all 4th row, similar to y[3,:], ':' means all
In [34]: y[2,1] #3rd row, 2nd column
Out[34]: 0.0
In [36]: y[2,1] = 7
In [37]:
In [37]: y
Out[37]:
array([[ 0. , 9. ],
[ 10. , 10. ],
[ 0. , 7. ],
[ 3.14159265, 3.14159265]])
在你的情况,我们有row_col_index
(row_col_index[0]
)的第1个数组用于行和第二个数组(row_col_index[1]
)用于列。
最后,如果您不使用ipython,我建议您这样做,它会帮助您进行学习过程和其他许多事情。
我希望这会有所帮助。
感谢您提供最佳实践的详细解答和提示。我一直试图用row_col_index数组作为一个整体进行索引而不提取行。 – me10240
不客气。你能否选择这个作为正确的答案。 – pythonista