用不同形状的数组制作一个数组

时间:2019-06-07 23:01:33

标签: arrays python-3.x numpy

我有几个形状(ni,4)阵列中的数据,其中ni是我为第i次实验实现所做的测量次数。因此,换句话说,我有几个具有4列但行数不同的数组。假设我进行了M次实验,所以ni的M个值不同。

我想将所有这些数据组织成一个形状为(M)的大数组A,以便我可以轻松地选择要使用的实验。如果要使用第一实验,则将使用数组A [0],依此类推。

我尝试使用numpy.stack,numpy.concatenate,numpy.append,numpy.insert,但我无法有效地做到这一点。我总是有一个问题,因为形状永远都不一样,因为ni在每个实验中都采用不同的值。我该怎么办?

注意:我有很多实验,所以我不能只做A = [E1,E2,E3,...,EM]。

1 个答案:

答案 0 :(得分:0)

我感到很愚蠢,我已经搜索了将近一个小时,发布后立即找到了解决方案。显然numpy.append确实对我正在做的事情不利,所以我应该做的是:

A = []

for i in range(1, M):
    A.append(Ei)    # Ei is the i-th experiment

A = np.asarray(A)

还有其他解决方法吗?我认为这对我有用。