给定一个ndarray:
import numpy as np
import random
idxs = np.arange(10)
np.random.shuffle(idxs)
字符串
我得到一个输出:
array([1, 2, 7, 8, 5, 9, 3, 4, 6, 0])
型
我想把它转换成一个ndarrays数组,看起来像这样:
array([[1, 2, 3, 4, 5],
[2, 3, 4, 5, 6],
[7, 8, 9, 10, 11],
[8, 9, 10, 11, 12],
...])
型
对于第一个数组的每个元素,我希望索引最多在它上面5。我该怎么办?我试过用
np.reshape(idxs, (idxs.size, 1))
型
把它变成这样:
array([[1],
[2],
[7],
[8],
...])
型
但我想让所有的指数达到5以上,如上所述。
我希望我解释清楚了,感谢任何帮助。
2条答案
按热度按时间hof1towb1#
使用broadcasting:
字符串
或者(主要是为了好玩,因为这不是那么有效),如果你的索引是0-n:
型
(If不,这将不必要地生成许多中间行)
输出量:
型
bxgwgixi2#
我有一个简单的方法,通过使用np. newaxis从代码中获得一个(n,1)形状的nd-array。
字符串