python生成一个想要的矩阵array

问题遇到的现象和发生背景

我有N个数字和K个组,我想把这N个数字随机分配到每个K组内,形成一个[K * N/K]的矩阵array。比如我有1000个数字我想将这1000个数字随机并均匀的分配到20个组内,组成一个20*50的矩阵数组。

但是问题是N不能经常被N整除,比如我有27个N和13个K组,27就除不开13余1,余下了1个数字无法被分配。我想把这1个数组也成为一行array,做成一个3*13的矩阵,但是最后一行只包含这1个被剩下的数。

没太多头绪,所以请求一个好的思路达到这个结果。十分感谢


new_N = np.arange(N)
np.random.shuffle(new_N)
return new_N.reshape((K, int(N/K))).

你直说了剩一个数字的情况,如果剩余两个或多个数字呢?想要怎么排列?排列几行?