gpt4 book ai didi

python - 如何用数组索引numpy数组

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:35 25 4
gpt4 key购买 nike

给定如下定义的数组:

a = np.arange(30).reshape((3, 10)
col_index = [[1,2,3,5], [3,4,5,7]]
row_index = [2,1]

是否可以索引a[row_index, col_index],所以我可以做类似的事情a[row_index, col_index] =1,所以 a 变成了

[[0,1,2,3,4,5,6,7,8,9], [10,11,12,1,1,1,16,1,18,19] , [20,1,1,1,24,1,26,27,28,29]]

所以澄清一下,在第 2 行中,第 1、2、3 和 5 列设置为 1,在第 1 行中,第 3、4、5、7 列也设置为 1。

最佳答案

或者(如果你不喜欢打字)

a[np.c_[row_index], col_index] = 1

或更短但仅限 Python 2

a[zip(row_index), col_index] = 1

所有这些解决方案所做的就是创建行和列索引 broadcastable对彼此。 np.c_ 是列连接便利对象。它用一维对象制作列。zip 过去基本上做同样的事情。只是,自 Python 3 以来,它返回一个迭代器而不是一个列表,而 numpy 无法处理这些。 (可以做 list(zip(row_index)) 但这并不短。)

关于python - 如何用数组索引numpy数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48245175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com