python - Numpy 数组上的两个 for 循环
问题描述
早上好。假设我有一个用 numpy 创建的二维数组(称为 MAT(x,y))。在这个数组上,我必须执行一些操作。如何重写以下 2 个 for 循环,例如使用np.nditer()
或其他使用 numpy 方法的东西?谢谢你。
for i in range(x):
for j in range(y):
if i == 0: MAT[i][j] = j
elif j == 0: MAT[i][j] = i
解决方案
您可以像这样简单地设置第一行和第一列
mat[:,0] = np.arange(0, mat.shape[0])
mat[0,:] = np.arange(0, mat.shape[1])
示例结果
array([[0. , 1. , 2. , 3. , 4. ],
[1. , 0.30487009, 0.97179858, 0.08143348, 0.99363866],
[2. , 0.69357714, 0.98421733, 0.42032313, 0.81041628]])
推荐阅读
- c# - 无法检查文件是否全部为空
- vue.js - Vue 应用程序能否在 js 中捕获孩子发出的事件?
- r - R Shiny:用于导航自定义数字向量的 UI 元素
- c# - 在 GetHashCode 中使用具有 DataMember 属性的 Non-Readonly 属性
- javascript - 防止 Lockscreen / Notificationcenter 在 react-native 中向下滑动
- java - Return null and empty List after unmarsal
- android - Firebase Cloud functions to Android application notifications
- tensorflow - 如何将 tf.keras 中的 model.fit 与 tf.dataset 和多个输出一起使用
- pyspark - pyspark concat多列与合并不起作用
- android - 如何在每部手机上显示底部导航栏?