Python 交错numpy阵列

Python 交错numpy阵列,python,numpy,Python,Numpy,我正在尝试按如下方式交错数组 import numpy as np x = np.array([1,2,3,4,5]) y = np.array([4,6,2,6,9],[5,9,8,7,4],[3,2,5,4,9]) 预期结果: [[1,2,3,4,5],[4,6,2,6,9],[1,2,3,4,5],[5,9,8,7,4],[1,2,3,4,5],[3,2,5,4,9]] 有没有一种优雅的方法可以做到这一点 这是我写作的方式,但我希望改进这一行data=np.array([x,y[0

我正在尝试按如下方式交错数组

import numpy as np

x = np.array([1,2,3,4,5])
y = np.array([4,6,2,6,9],[5,9,8,7,4],[3,2,5,4,9])
预期结果:

[[1,2,3,4,5],[4,6,2,6,9],[1,2,3,4,5],[5,9,8,7,4],[1,2,3,4,5],[3,2,5,4,9]]
有没有一种优雅的方法可以做到这一点


这是我写作的方式,但我希望改进这一行
data=np.array([x,y[0],x,y[1],x,y[2]])
还有其他写入方法吗

x=np.array([1,2,3,4,5])     
y=np.array([[4,6,2,6,9],[5,9,8,7,4],[3,2,5,4,9]]) 

data=np.array([x,y[0],x,y[1],x,y[2]])
print(data)
根据答案改编为:

输出:

[[1 2 3 4 5]
 [4 6 2 6 9]
 [1 2 3 4 5]
 [5 9 8 7 4]
 [1 2 3 4 5]
 [3 2 5 4 9]]

您可以尝试使用
np.insert

import numpy as np

x = np.array([1,2,3,4,5])
y = np.array([[4,6,2,6,9],[5,9,8,7,4],[3,2,5,4,9]])
np.insert(y, obj=(0, 1, 2), values=x, axis=0)

array([[1, 2, 3, 4, 5],
       [4, 6, 2, 6, 9],
       [1, 2, 3, 4, 5],
       [5, 9, 8, 7, 4],
       [1, 2, 3, 4, 5],
       [3, 2, 5, 4, 9]])
(0,1,2)
指插入前要插入的
y
中的索引

编辑:可以对任意长度的
y
使用
obj=range(y.shape[0])
。谢谢Chiel的建议


有关更多信息,请参阅。

您以何种方式处理列表?你在这里穿线是什么意思?请提供清晰的样本输入和样本输出,并解释输入和输出之间的关系。我是一个仍在学习的新手,但我有一个数据集,其中我有多个y数据集(如上面的y),共享一个x轴。为了把所有的内容放在一起,我想以一种优雅的方式(较短的代码?)创建[x,y1,x,y2,x,y3…],我不确定我是否能很好地解释你的回答。我真的很感谢你的帮助。如果
y
有任意数量的行,你可以通过将
obj=(0,1,2)
替换为
obj=range(y.shape[0])
,来更广泛地推广它。根据我的喜好,您还可以删除
obj
值的参数名。谢谢你的建议。
import numpy as np

x = np.array([1,2,3,4,5])
y = np.array([[4,6,2,6,9],[5,9,8,7,4],[3,2,5,4,9]])
np.insert(y, obj=(0, 1, 2), values=x, axis=0)

array([[1, 2, 3, 4, 5],
       [4, 6, 2, 6, 9],
       [1, 2, 3, 4, 5],
       [5, 9, 8, 7, 4],
       [1, 2, 3, 4, 5],
       [3, 2, 5, 4, 9]])