numpy拼接矩阵的实现

目录
  • 1、文档
  • 2、举例

1、文档

使用numpy的 concatenate 拼接矩阵,文档里面这样解释:

numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")

(a1, a2, ...):连接的数组必须有一样的维度;

axis:拼接的方向;

out:预设输出矩阵的大小

…………

2、举例

首先给定两个矩阵:

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

trans = np.array([[7],
                  [8],
                  [0]])

①:在第一个矩阵后面加上第二个矩阵(加一列):

z = np.concatenate((rotation, trans), axis=1)

输出为:

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

②:以及在矩阵下面加一个全零行:

add_arr = np.array([[0, 0, 0, 0]])
array_by_add = np.concatenate((z, add_arr), axis=0)

输出:

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

③:把矩阵填充为对角矩阵:

第一个为3×3矩阵,第二个为2×3矩阵。

arr1 = np.array([[2, 3, 4],
                 [3, 4, 5],
                 [4, 5, 6]])
arr2 = np.array([[7, 8, 9],
                 [8, 9, 10]])

arr_zeros1 = np.zeros((arr2.shape[1], arr1.shape[0]))
print(arr_zeros1)
arr_zeros2 = np.zeros((arr2.shape[0], arr1.shape[1]))
print(arr_zeros2)
total_arr1 = np.concatenate((arr1, arr_zeros1), axis=1)
total_arr2 = np.concatenate((arr_zeros2, arr2,), axis=1)
total_arr = np.concatenate((total_arr1, total_arr2), axis=0)
print(total_arr)

拼接之后结果如下:

[5 6]
[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]
[[0. 0. 0.]
 [0. 0. 0.]]
[[ 2.  3.  4.  0.  0.  0.]
 [ 3.  4.  5.  0.  0.  0.]
 [ 4.  5.  6.  0.  0.  0.]
 [ 0.  0.  0.  7.  8.  9.]
 [ 0.  0.  0.  8.  9. 10.]]

官方文档地址:numpy官网地址

到此这篇关于numpy拼接矩阵的实现的文章就介绍到这了,更多相关numpy 拼接矩阵内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • numpy数组合并和矩阵拼接的实现

    Numpy中提供了concatenate,append, stack类(包括hsatck.vstack.dstack.row_stack.column_stack),r_和c_等类和函数用于数组拼接的操作. 各种函数的特点和区别如下标: concatenate 提供了axis参数,用于指定拼接方向 append 默认先ravel再拼接成一维数组,也可指定axis stack 提供了axis参数,用于生成新的维度 hstack 水平拼接,沿着行的方向,对列进行拼接 vstack 垂直拼接,沿着列的

  • numpy拼接矩阵的实现

    目录 1.文档 2.举例 1.文档 使用numpy的 concatenate 拼接矩阵,文档里面这样解释: numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind") (a1, a2, ...):连接的数组必须有一样的维度: axis:拼接的方向: out:预设输出矩阵的大小 ………… 2.举例 首先给定两个矩阵: rotation = np.array([[1, 2, 3],

  • Python numpy 提取矩阵的某一行或某一列的实例

    如下所示: import numpy as np a=np.arange(9).reshape(3,3) a Out[31]: array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) 矩阵的某一行 a[1] Out[32]: array([3, 4, 5]) 矩阵的某一列 a[:,1] Out[33]: array([1, 4, 7]) b=np.eye(3,3) b Out[36]: array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0.,

  • Python numpy中矩阵的基本用法汇总

    Python矩阵的基本用法 mat()函数将目标数据的类型转化成矩阵(matrix) 1,mat()函数和array()函数的区别 Numpy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数字元素,虽然他们看起来很相似,但是在这两个数据类型上执行相同的数学运算可能得到不同的结果,其中Numpy函数库中的matrix与MATLAB中matrices等价. 直接看一个例子: import numpy as np a = np.mat('1 3;5 7')

  • Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例

    Numpy matrix 必须是2维的,但是 numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND),matrix是Array的一个小的分支,包含于Array. import numpy as np >>> m = np.mat([[1,2],[3,4]]) >>> m[0] #读取一行 matrix([[1, 2]]) >>> m[:,0] #读取一列 matrix([[1], [3]]) numpy中数组和矩阵

  • Python 使用Numpy对矩阵进行转置的方法

    如下所示: matrix.py #!/usr/bin/python # -*- encoding:UTF-8-*- import pprint import numpy as np matrix = [[1,2],[3,4],[5,6]] print('列表:') pprint.pprint(matrix) matrix_2 = np.matrix(matrix) print('原矩阵:') pprint.pprint(matrix_2) matrix_transpose = np.transp

  • 浅谈利用numpy对矩阵进行归一化处理的方法

    本文不讲归一化原理,只介绍实现(事实上看了代码就会懂原理),代码如下: def Normalize(data): m = np.mean(data) mx = max(data) mn = min(data) return [(float(i) - m) / (mx - mn) for i in data] 代码只有5行并不复杂,但是需要注意的一点是一定要将计算的均值以及矩阵的最大.最小值存为变量放到循环里,如果直接在循环里计算对应的值会造成归一化特别慢,笔者之前有过深切的酸爽体验-. 以上这篇

  • numpy 对矩阵中Nan的处理:采用平均值的方法

    尽管我们可以将所有的NaN替换成0,但是由于并不知道这些值的意义,所以这样做是个下策.如果它们是开氏温度,那么将它们置成0这种处理策略就太差劲了. 下面我们用平均值来代替缺失值,平均值根据那些非NaN得到. from numpy import * datMat = mat([[1,2,3],[4,Nan,6]]) numFeat = shape(datMat)[1] for i in range(numFeat): meanVal = mean(datMat[nonzero(~isnan(dat

  • numpy中矩阵合并的实例

    python中科学计算包numpy中矩阵的合并,需要用到如下两个函数: 列合并:np.column_stack() ,其中函数参数为一个tuple 行合并:np.row_stack(),其中函数参数为一个tuple >>> import numpy as np >>> a = np.arange(8).reshape(4, -1) >>> print(a) [[0 1] [2 3] [4 5] [6 7]] >>> b = np.ar

  • Python+numpy实现矩阵的行列扩展方式

    对于numpy矩阵,行列扩展有三种比较常用的方法: 1.使用矩阵对象的c_方法扩展列,使用矩阵对象的r_方法扩展行. 2.使用numpy扩展库提供的insert()函数,使用axis参数指定行或列. 3.使用numpy扩展库的row_stack()函数扩展行,column_stack()函数扩展列. 以上这篇Python+numpy实现矩阵的行列扩展方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 详解Numpy扩充矩阵维度(np.expand_dims, np.newaxis)和删除维度(np.squeeze)的方法

    在操作矩阵的时候,不同的接口对于矩阵的输入维度要求不同,输入可能为1-D,2-D,3-D等等.下面介绍一下使用Numpy进行矩阵维度变更的相关方法.主要包括以下几种: 1.np.newaxis扩充矩阵维度 2.np.expand_dims扩充矩阵维度 3.np.squeeze删除矩阵中维度大小为1的维度 np.newaxis,np.expand_dims扩充矩阵维度: import numpy as np x = np.arange(8).reshape(2, 4) print(x.shape)

随机推荐