使用 numpy 的任务

给出了一个大小为 5x5 的整数矩阵。用数字 0 替换此矩阵中第一行的所有负元素。

我知道你需要循环遍历矩阵,但我不完全明白如何去做。请解释一下,因为我想学习如何解决此类问题。


明月笑刀无情
浏览 127回答 3
3回答

青春有我

&nbsp;import numpy as np&nbsp;#create matrix of size (5,5) with all zeros&nbsp;matrix = np.zeros((5,5))&nbsp;matrix[0]=[1,-2,3,-4,-5]&nbsp;matrix[0]=np.where(matrix[0]<0,0,matrix[0])说明:导入 numpy 后,初始化一个大小为 5x5 的 0 矩阵并分配一些值(+ve 和 -ve 都到第一行)。现在对矩阵的第一行使用 np.where() ,将 0 分配给 -ve 值和 +ve 值保持不变。np.where() 将第一个参数作为条件,第二个参数是如果条件为真时要做什么,否则当第三个参数中的条件为假时要做什么

慕无忌1623718

让我们尝试通过示例来解决您的问题。import numpy as np#create matrix of size (5,5) with all zerosmatrix = np.zeros((5,5))#since you are curious about first row, I will change the elements of the 1st row onlymatrix[0][0] = 1matrix[0][1] = -10matrix[0][2] = 5matrix[0][3] = -12matrix[0][4] = -18#loop through only the first rowfor i in range(5):#checking if number is negative&nbsp; &nbsp; if matrix[0][i] < 0:&nbsp; &nbsp; &nbsp; &nbsp; matrix[0][i] = 0print(matrix)应该这样做。

aluckdog

“init_array”是你的 5x5 矩阵。import&nbsp;numpy&nbsp;as&nbsp;np&nbsp; result&nbsp;=&nbsp;np.where(init_array[0]<0,&nbsp;0,&nbsp;init_array[0])必须初始化5x5矩阵的init_array它将使用init_array[0]检查第一行元素,只要它小于零,然后它将用零替换它
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python