Python中使用numpy创建的array之间的乘法

import numpy as np

numpy模块的array相乘时,有两种方式:一是矩阵形式,二是挨个相乘。

需要用矩阵形式相乘时,则要用np.dot()函数。

矩阵与矩阵:

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

c = a.copy()

a*c 得出的结果是a和c中每个元素依次相乘,为3x3的矩阵

np.dot(a, c) 得到的结果是a和c进行矩阵相乘,为3x3的矩阵

矩阵与向量:

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

b = np.array([1,2,3])

a.shape #(3,3)

b.shape #(3,)

a*b # array([[1,4,9],[4,10,18],[7,16,27]]), a中的每一列的每个数与b中的每一列的每个数都相乘,即扩大a中每一列的倍数(相加时也是一样)

b*a #这个结果与a*b是一样的

b = b.T

b.shape # 即使对b转置,b依然为(3,),b为行向量还是列向量时,是看具体用的时候在矩阵左边还是右边,会自动变换

np.dot(a, b) # array([14, 32, 50]),此时b当作一个3x1的列向量,得到的结果为(3,)

np.dot(b, a) # array([30, 36, 42]),此时b当作一个1x3的行向量,得到的结果为(3,)

时间: 2024-08-20 21:51:48

Python中使用numpy创建的array之间的乘法的相关文章

Python中使用numpy创建初始化array

import numpy as np np.arange(10, 100, 20, dtype = float) #numpy中的arange与普通的range作用一样,即range(start, stop, step) #arange可以通过dtype来指定创建的数组类型,数组不同与元组和列表,整个数组的类型必须是一样的. np.linspace(start, stop, number) #其中number指定了start到stop之间的个数(包含两端点值) 当然也可以产生随机数来初始化数组.

Python中 list, numpy.array, torch.Tensor 格式相互转化

1.1 list 转 numpy ndarray = np.array(list) 1.2 numpy 转 list list = ndarray.tolist() 2.1 list 转 torch.Tensor tensor=torch.Tensor(list) 2.2 torch.Tensor 转 list 先转numpy,后转list list = tensor.numpy().tolist() 3.1 torch.Tensor 转 numpy ndarray = tensor.numpy

Python中的Numpy、SciPy、MatPlotLib安装与配置

Python安装完Numpy,SciPy和MatplotLib后,可以成为非常犀利的科研利器.网上关于这三个库的安装都写得非常不错,但是大部分人遇到的问题并不是如何安装,而是安装好后因为配置不当,在使用时总会出现import xxx error之类的错误.我也是自己摸索了很久才发现如何去正确配置的.下面就详细说下安装和配置的过程. 1.安装Python,这里选择2.7还是3.4都行,不过推荐使用2.7,毕竟现在的教程大部分还是基于2.7的,3.4跟2.7的语法还是略有不同,为了避免语法错误的麻烦

关于python中赋值、浅拷贝、深拷贝之间区别的深入分析

大家都知道,在python中复制一个对象有多种方法,其中常用的是赋值.浅拷贝和深拷贝,这三者之间有哪些区别和哪些坑呢? 首先,定义一下: 赋值:  a =1    b =a    a赋值给了b 浅拷贝: a = []  b = a.copy() 或者import copy             b = copy.copy(a) 深拷贝:import copy  a = []   b = copy.deepcopy(a) 未完待续

Python中的Numpy包

通过本次学习你可以掌握Numpy Numpy介绍(获取地址) numpy的主要对象是同质多维数组.也就是在一个元素(通常是数字)表中,元素的类型都是相同的. numpy的数组类被成为ndarray.别名为array.numpy.array与标准python库类array.array不一样,标准库类中的那个只能处理一维数组并且功能更少. 例如ndarray为矩阵 关于维数和类型操作:ndarray.ndim                 数组的轴(维度)的数量.ndarray.shape:   

Python中的Numpy入门教程

1.Numpy是什么 很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数.如果接触过matlab.scilab,那么numpy很好入手. 在以下的代码示例中,总是先导入了numpy: 代码如下: >>> import numpy as np>>> print np.version.version1.6.2 2.多维数

python中,ascii,unicode,utf8,gbk之间的关系梳理

在计算机中,经常遇到编码问题,本节主要梳理下ascii,unicode,utf8,gbk 这几种编码之间的关系. ASCII 计算机中,所有数据都以0和1来表示.在一开始的时候,要表示的内容比较少,人们使用了ascii编码的方式来编码. ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 -

python中的numpy

开始学习用python实现机器学习的算法,用到了numpy库,好多函数不清楚. google上找到numpy的官网,可以链接到numpy的reference:http://docs.scipy.org/doc/numpy/reference/ 这里仅记录学习过程中用到的: [转]配置python命令tab键自动补全 1. 下载readline模块 http://newcenturycomputers.net/projects/readline.html 2. install readlinemo

Python中subprocess 模块 创建并运行一个进程

python的subprocess模块,看到官方声明里说要尽力避免使用shell=True这个参数,于是测试了一下: from subprocess import call import shlex cmd = "cat test.txt; rm test.txt" call(cmd, shell=True) 运行之后: 1:打开并浏览了test.txt文件 2:删除了test.txt文件 from subprocess import call import shlex cmd = &