python - Numpy:使用花式索引在 2d 中插入 2 x 1d 的值
问题描述
我想在给定具有行/列索引的数组的情况下进行索引。我有一个从argmax
函数中提取的带有列号(列索引)的数组,
有了这个,我想将一个零二维矩阵转换为 1(或 True),因为索引对应于该列索引。行从 0 到 4
以下是我的试验以及我如何看待问题。
matrix1 = np.zeros((5, 10))
matrix2 = np.zeros((5, 10))
matrix3 = np.zeros((5, 10))
matrix4 = np.zeros((5, 10))
matrix5 = np.zeros((5, 10))
row = np.array([0,1,2,3,4])
column = np.array([9,9,2,3,9,2,1,3,3,1])
matrix1[row, column] = 1
matrix2[[row, column]] = 1
matrix3[[row], [column]] = 1
matrix4[[[row], [column]]] = 1
matrix5[([row], [column])] = 1
我怎样才能让它按预期工作?
编辑: 除了上述情况外,还存在每行只需要 1(一个)值的情况。
解决方案
这听起来有点幼稚,但直觉上,我会首先找到所有可能的索引组合。
matrix1 = np.zeros((5, 10))
row = np.array([0,1,2,3,4])
column = np.array([9,9,2,3,9,2,1,3,3,1])
index = np.stack(np.meshgrid(row,column), -1).reshape(-1,2)
matrix1[index[:,0], index[:,1]] = 1
希望这可以帮助。
推荐阅读
- file - 在 Go 中使用相同的 *os.File 写入和读取文件
- firebase - 将图像从 Firebase 中的 Storage 链接到 CLOUD firestore 文档 Flutter
- c# - StreamReader 未将 MediaStream 转换为字符串
- error-handling - 使用 Xcode12.2 在 iOS11 上安装/更新 pod
- python-3.x - 使用opencv检测护照图像中的文本
- c# - EF Core:我可以在我的实体中将可为空的 SQL 类型映射到不可为空的值类型吗?
- django - 如何防止用户在 django 中提交后返回表单(所有表单登录、编辑帖子等)?
- python - 超声波范围传感器 (HC-SR04) 在 Raspberry Pi 上给出不一致的读数
- javascript - 反应 - 从状态数据计算总数
- pandas - numpy 数组到数据框,反之亦然