我是 python 和 numpy 的新手(我更习惯于 R)并且一直在尝试创建数组并想创建一个 tall 数组,其中第一列只是一个具有自定义增量的范围,而第二列是 0 和 1 之间的统一随机数。
我已经想出了下面的内容,但它看起来很笨重而且不是特别可读。是否有更有效的方式在一行中实现相同的结果?
import numpy as np
1stcol = np.array(np.arange(1,20,0.5), ndmin=2)
2ndcol = np.array(np.random.uniform(0,1,np.shape(d)[1]), ndmin=2)
tallmat = np.transpose(np.concatenate((d,e),axis=0))
最佳答案
鉴于要将两列堆叠为两列以获得 tall 数组,这里有一些使用 np.vstack
、np.vstack 的方法。 row_stack
和 np.dstack
-
np.vstack((d,e)).T
np.row_stack((d,e)).T
np.dstack((d,e))[0]
或者,我们可以从 1D
数组开始,最后用 np.column_stack
堆叠,就像这样 -
d = np.arange(1,20,0.5)
e = np.random.uniform(0,1,np.shape(d)[1])
tallmat = np.column_stack((d,e))
关于python - 使用 numpy 生成 tall 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42811269/