Jos*_*der 6 python arrays indexing numpy
如下代码:
x = list(range(0,10))
random.shuffle(x)
ind = np.argsort(x)
x[ind]
Run Code Online (Sandbox Code Playgroud)
产生错误:TypeError:只有整数标量数组可以转换为标量索引
请注意,我的问题与“ numpy array TypeError:只能将整数标量数组转换为标量索引 ” 这一问题有所不同,后者正在尝试更复杂的事情。
我在这个问题上的错误是我试图在普通的python列表上使用索引列表-请参阅我的答案。我希望它发生的范围比仅仅使用范围和随机播放要广泛得多。
问题是我试图索引x一个普通的Python列表,就好像它是一个numpy数组一样。要修复它,只需将其转换x为numpy数组:
x = list(range(0,10))
random.shuffle(x)
ind = np.argsort(x)
x = np.array(x) # This is the key line
x[ind]
Run Code Online (Sandbox Code Playgroud)
(这已经发生在我身上两次。)