Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从元组列表中创建n个数组的列表,每个元组包含n个数组?(使用for循环的情况除外) 问题_Python_Numpy_Tuples - Fatal编程技术网

Python 如何从元组列表中创建n个数组的列表,每个元组包含n个数组?(使用for循环的情况除外) 问题

Python 如何从元组列表中创建n个数组的列表,每个元组包含n个数组?(使用for循环的情况除外) 问题,python,numpy,tuples,Python,Numpy,Tuples,我有一个包含4个元组的列表。它是multiprocessing.Pool.map()的输出,但我认为这并不重要 每个元组包含3个numpy数组 创建3个数组的好方法是什么,即将(vstack)所有第一个数组附加到1中,将所有第二个数组附加到另一个数组中,等等?Ie从下面的屏幕截图中的橙色阵列等创建橙色输出: 我试过的 我当然可以做一个非常平庸的循环,就像下面的玩具例子一样;它能工作,但看起来不太优雅。我想有一种更优雅的方式 x = np.random.rand(10,2) a = ((x,2

我有一个包含4个元组的列表。它是multiprocessing.Pool.map()的输出,但我认为这并不重要

每个元组包含3个numpy数组

创建3个数组的好方法是什么,即将(vstack)所有第一个数组附加到1中,将所有第二个数组附加到另一个数组中,等等?Ie从下面的屏幕截图中的橙色阵列等创建橙色输出:

我试过的 我当然可以做一个非常平庸的循环,就像下面的玩具例子一样;它能工作,但看起来不太优雅。我想有一种更优雅的方式

x = np.random.rand(10,2)

a = ((x,2*x,3*x))
b = a
c = a
d = a
my_list =[a,b,c,d]

num_items = len(my_list[0])
out =[None] * num_items

for i in range(num_items): #3 arrays in each tuple
    out[i] =[]
    for l in my_list: 
        out[i].append( l[i] )
    out[i] = np.vstack(out[i])
您可以尝试:

np.concatenate(my_list, axis=1)
如果要连接第一个尺寸标注:

 my.array.reshape(3, -1, 2) #-> shape (3, 40, 2)
如果您确实想要一个列表:

list(my_array) #-> list of 3 arrays of shape (4, 10, 2)

[np.stack(u)for u in zip(*my_list)]
?谢谢;如果你把它作为答案贴出来,我会接受的
list(my_array) #-> list of 3 arrays of shape (4, 10, 2)