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]])