如何在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 
+0

简单而优雅我喜欢它 – Aventinus

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