如何在numpy数组中调用位置X的元素?
问题描述:
import numpy as np
S = np.array(l)
for i in range(1, l):
random_int = randint(0, 1)
np.append(S, random_int)
我创建了一个大小为l的numpy数组,并用零和一个填充它。假设我想打印数组的第三个元素。我怎么做?如何在numpy数组中调用位置X的元素?
如果键入
print(S[2])
我得到以下错误:
IndexError: too many indices for array
答
我想简单地做以这种方式来生成L个随机数0和1之间:
L = 10
S = np.random.random_integers(0,1,L)
print S
print S[2]
回报:
[1 0 0 1 0 0 1 1 0 1]
0
答
np.append(S, random_int)
追加random_int
到阵列S
的副本。您需要在for
循环中使用S = np.append(S, random_int)
。
例
import numpy as np
from random import randint
l = 5
S = np.array(l)
for i in range(1, l):
random_int = randint(0, 1)
S = np.append(S, random_int)
print(S)
print(S[2])
输出
[5 1 1 0 1]
1
答
首先,S = np.array(l)
不会产生长度为l的数组,但长度为1的数组的唯一条目是l。 所以,你可以接着用S = np.zeros(l)
(创建长度l全是零的数组替换该行 ,在你的循环,你必须做到:。
for i in range l:
S[i] = randint(0, 1)
这仅仅是指出你的错误,因为@。法比奥说,你可以在一条线上做到这一点
+0
谢谢,我刚开始使用numpy,所以这样的事情轻易欺骗我。 – Aventinus
简单而优雅我喜欢它 – Aventinus