python - 合并/连接具有不同元素的数组

标签 python matlab numpy vector

如何在 numpy 中合并不同元素(matlab 风格)?

[数组([ 0.]), 0.0, 0.0011627, 0.0, 2.69, 0.0, 数组([ 3.8269, 7.0184]), 数组([ 4.4e-16, 2.1e+00])]

(我试过np.concatenate,但显然它只接受数组作为输入)。 基本上,我想通过索引动态连接向量中的元素。我试过了:

 V = np.array([1,2,3,4,5,6])
 Y = np.array([7,8,9,10,11,12])

 Z = np.array([V[0:2],Y[0],V[3],Y[1:3],V[4:],Y[4:]])

它可以工作,但里面有数组元素。我只想要一个平面数字向量(Matlab 样式),因为稍后我用这些向量制作了一个矩阵(称为 RES)。哪怕是一个简单的

 np.savetxt('TT',RES,fmt='%1.1e') 

失败,因为它需要 float 而不是内部数组。

猜猜这应该很简单。 np.hstack 完成这项工作。但是有没有其他简单的方法来进行 Matlab 风格的索引以及向量和标量的组合?

最佳答案

你可以使用 np.r_ :

In [32]: Z = np.r_[V[0:2],Y[0],V[3],Y[1:3],V[4:],Y[4:]]

In [33]: Z
Out[33]: array([ 1,  2,  7,  4,  8,  9,  5,  6, 11, 12])

关于python - 合并/连接具有不同元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21990345/

相关文章:

python - 在进程之间共享 numpy 和 scipy 对象

python - 在Python中交换变量

python - 属性错误 : while using monkeypatch of pytest

matlab - 如何在指定秒数后中断 MATLAB 系统调用

python - 曲线插值

python - 高效的概率树分支

python - Pandas 根据条件在组中设置值

python - 在 Python 中,我如何使用子进程而不是 os.system?

arrays - 如何在 MATLAB 中将元胞数组转换为数值数组?

arrays - 查找数组最大值的索引