在python的多维数组中添加值1

2024-04-16 12:15:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中创建了一个多维numpy数组,如下所示:

>>> import numpy as np

>>> a = np.zeros((3,5))

>>> print a

>>>[[ 0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.]]`

我想用++1在[1:2]处加1到[2:3]。结果应该是这样的:

>>>[[ 0.  0.  1.  1.  1.]
 [ 1.  1.  1.  1.  0.]
 [ 0.  0.  0.  0.  0.]]

我怎么能拿到这个?有人能帮我吗?你知道吗

非常感谢

克朗克42


Tags: importnumpyasnpzeros数组print
1条回答
网友
1楼 · 发布于 2024-04-16 12:15:49

最好的答案很大程度上取决于为什么?你知道吗

您可以flatten,对一行进行更改,然后reshape

af = a.flatten()
af[2:9] += 1
a = af.reshape(a.shape)

在这种情况下,你必须自己计算指数。在这种情况下,很简单:[0,2]变成行x#列+列=0 x 5+2=2,[1,4]变成1 x 5+4=9。请注意,python中的索引从0开始,而不是从1开始。第一行的第一列是[0,0]。你知道吗

索引数学有一些辅助函数,在这种情况下,最接近的是numpy.ravel_multi_index,但对于2D情况来说可能有点太复杂了。你知道吗

相关问题 更多 >