我有一个2D numpy数组,我有一个应该设置为特定值的行和列的数组。让我们考虑下面的例子如何在没有循环的特定位置修改2D numpy数组?
a = array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
我想修改在行[0,2]和列[1,2]的条目。这将导致以下阵列
a = array([[1, 2, 0],
[4, 5, 0],
[7, 8, 9]])
我没有按照它导致每一行
rows = [0,1]
cols = [2,2]
b=a[numpy.ix_(rows,columns)]
这导致以下数组中修改指定数组
的每一列在修改列的每个序列array([[1, 0, 0],
[4, 5, 6],
[7, 0, 0]])
有人可以请让我知道该怎么做?
非常感谢
编辑:这是要注意的行和列巧合happend是sequentia。实际的观点是这些可能是任意的,并且可以以任何顺序。如果它是rows = [a,b,c]和cols = [n x z],那么我想修改位置(a,n),(b,x),(c,z)上的三个元素。
你说得很对。感谢您指向文档。这是程序中的一个错误。我知道但不能工作。你的回答非常具有说服力。 – Shan
你在做什么[x]语法? –
@johnktejik这只是ipython/jupyter笔记本执行单元的输出。把它想象成一行号码提示符。 – JoshAdel