python numpy 矩阵堆叠实例
在实际操作中,遇到了矩阵堆叠的操作,本来想着自己写一个函数,后来想,应该有库函数,于是一阵找寻
import numpy as np
a = np.array([1,2,3])
b = np.array([4,5,6])
np.stack((a,b)) #默认行堆叠
输出:
array([[1, 2, 3],
[4, 5, 6]])
np.vstack((a, b))
输出:
array([[1, 2, 3],
[4, 5, 6]])
np.hstack((a, b))
输出:
array([1, 2, 3, 4, 5, 6])
简单解释一下上面的代码:其实主要是一个函数,stack(),这个函数其实包含了各种堆叠方式,我们上面的例子是针对二维矩阵的,其实我们大部分时候的操作都是针对二维矩阵的,为了方便,所以又定义了两个函数vstack()进行垂直的堆叠(vertically ),hstack()进行水平堆叠(horizontally)
函数stack()有个参数,axis,可以设置堆叠的维度,默认是0,其实和vstack()是一个效果,当设置成1的时候,结果如下
np.stack((a,b),axis=1)
输出:
array([[1, 4],
[2, 5],
[3, 6]])
从效果看,相当于按照原来a的第二维度,也就是列,一列一列的取出来,按行拼成了一个矩阵。
那么,hstack()的效果能不能利用stack()实现呢?我这里是没有探索出来,欢迎知道的童靴指教,不过hstack()的效果其实和concatenate是一样的
np.concatenate((a,b))
输出:
array([1, 2, 3, 4, 5, 6])
以上这篇python numpy 矩阵堆叠实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
时间: 2020-01-16
如下所示: 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矩阵的基本用法 mat()函数将目标数据的类型转化成矩阵(matrix) 1,mat()函数和array()函数的区别 Numpy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数字元素,虽然他们看起来很相似,但是在这两个数据类型上执行相同的数学运算可能得到不同的结果,其中Numpy函数库中的matrix与MATLAB中matrices等价. 直接看一个例子: import numpy as np a = np.mat('1 3;5 7')
矩阵创建 1.from numpyimport *; a1=array([1,2,3]) a2=mat(a1) 矩阵与方块列表的区别如下: 2.data2=mat(ones((2,4))) 创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int 3.data5=mat(random.randint(2,8,size=(2,5)) 产生一个2-8之间的随机整数矩阵 4.data3=mat(random.rand(2,2)) 这里的random模块使用的是num
NumPy的主要对象是同种元素的多维数组.这是一个所有的元素都是一种类型.通过一个正整数元组索引的元素表格(通常是元素是数字). 在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank,但是和线性代数中的秩不是一样的,在用python求线代中的秩中,我们用numpy包中的linalg.matrix_rank方法计算矩阵的秩,例子如下). 结果是: 线性代数中秩的定义:设在矩阵A中有一个不等于0的r阶子式D,且所有r+1阶子式(如果存在的话)全等于0,那末D称为矩阵
假如矩阵A是n*n的矩阵 A.sum()是计算矩阵A的每一个元素之和. A.sum(axis=0)是计算矩阵每一列元素相加之和. A.Sum(axis=1)是计算矩阵的每一行元素相加之和. 以上这篇对python中矩阵相加函数sum()的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
Numpy 随机矩阵: np.random.randn(d0, d1, d2, ...) 矩阵大小与形状: np.ndarray.size 与 np.dnarray.shape Pytorch 随机矩阵: torch.randn(d0, d1, d2, ...) 添加维度: tensor.unsqueeze(0) 压缩维度: tensor.squeeze(0) 按维度拼接tensor: torch.cat(inputs, dim=0, ...) 维度堆叠: torch.stack(inputs,
这篇文章主要介绍Python的numpy库中的一些函数,做备份,以便查找. (1)将矩阵转换为列表的函数:numpy.matrix.tolist() 返回list列表 Examples >>> >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.tolist() [[0, 1, 2
1.当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘,不相加 2.当为mat的时候,默认d*f就是矩阵的乘积,multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积 3. 混合时候的情况,一般不要混合 混合的时候默认按照矩阵乘法的, multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积 总结:数组乘法默认的是点乘,矩阵默认的是矩阵乘法,混
Numpy模块被广泛用于科学和数值计算,自然有它的强大之处,之前对于特征处理中需要进行数据列表或者矩阵拼接的时候都是自己写的函数来完成的,今天发现一个好玩的函数,不仅好玩,关键性能强大,那就是Numpy模块自带的矩阵.列表连接函数,实践一下. #!usr/bin/env python #encoding:utf-8 from __future__ import division ''' __Author__:沂水寒城 使用numpy模块实现矩阵的连接操作 ''' import numpy as
计算矩阵标准差 >>> a = np.array([[1, 2], [3, 4]]) >>> np.std(a) # 计算全局标准差 1.1180339887498949 >>> np.std(a, axis=0) # axis=0计算每一列的标准差 array([ 1., 1.]) >>> np.std(a, axis=1) # 计算每一行的标准差 array([ 0.5, 0.5]) 官方手册:http://docs.scipy.
那就废话不多说,直接上代码吧! new_array = np.zeros((107,4))# 共107行 每行4列 初值为0 >>> new_array = np.zeros((107,4)) >>> new_array array([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0.
废话不多说,直接上代码吧! # 矩阵操作 # 将矩阵拉成向量 import numpy as np x = np.arange(10).reshape(2,5) print(x) y1 = x.ravel() y2 = x.flatten() print("y1: ",y1," y2: ",y2) print(x) """ 打印结果: [[0 1 2 3 4] [5 6 7 8 9]] y1: [0 1 2 3 4 5 6 7 8 9]
如下所示: # -*- coding: utf-8 -*- # @Time : 2018/1/17 16:37 # @Author : Zhiwei Zhong # @Site : # @File : Numpy_Pytorch.py # @Software: PyCharm import torch import numpy as np np_data = np.arange(6).reshape((2, 3)) # numpy 转为 pytorch格式 torch_data = torch.