numpy中dot与*的区别

简介: dot是矩阵相乘,只要矩阵满足前一个矩阵的列与后一个矩阵的行相匹配即可 *是遵循numpy中的广播机制,必须保证行列相对应才可以进行运算先看一则正例>>import numpy as np#test1与test2行列相同>>test1 = np.

dot是矩阵相乘,只要矩阵满足前一个矩阵的列与后一个矩阵的行相匹配即可

*是遵循numpy中的广播机制,必须保证行列相对应才可以进行运算

先看一则正例

>>import numpy as np
#test1与test2行列相同
>>test1 = np.array([[1,2],[3,4]])
>>test2 = np.array([[3,3],[2,2]])
>>test1 * test2
array([[3, 6],
       [6, 8]])
>>np.dot(test1,test2)
array([[ 7,  7],
       [17, 17]])

再看一则反例

#test3与test4行列数不相同
>>test3 = np.array([[1,2],[2,3]])
>>test4 = np.array([[2,3,4],[4,5,6]])
>>test3*test4
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: operands could not be broadcast together with shapes (2,2) (2,3) 
>>np.dot(test3,test4)
array([[10, 13, 16],
       [16, 21, 26]])

很明显,错误信息是由于test3中的(2,2)与test4(2,3)行列不匹配,故不可以进行*运算,而dot则可以因为test3中的列2 = test4中的行2

目录
相关文章
NumPy的深浅拷贝的区别与选择
关于深浅拷贝如何进行选择, 我们需要根据实际的项目需求进行使用,选择正确的拷贝方式不但能够节省内存空间,而且在效率上也会大大提高,这也是我们在项目优化方面需要进行考虑的。
|
Python
【Numpy】深入剖析Numpy.arange()与range()的区别
【Numpy】深入剖析Numpy.arange()与range()的区别
169 0
|
Python
numpy数组中冒号[:,:,0]与[...,0]的区别
x[:,:,0] 意思是对数组x切片,可以想象成一个正方体数据,每次切下一个面的数据。第二维取0则得出来[3,4]大小的数组
210 0
|
机器学习/深度学习 存储 Serverless
NumPy 与 Python 内置列表计算标准差的区别
NumPy,是 Numerical Python 的简称,用于高性能科学计算和数据分析的基础包,像数学科学工具(pandas)和框架(Scikit-learn)中都使用到了 NumPy 这个包。
|
3月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
104 0
|
4月前
|
机器学习/深度学习 数据处理 计算机视觉
NumPy实践宝典:Python高手教你如何轻松玩转数据处理!
【8月更文挑战第22天】NumPy是Python科学计算的核心库,专长于大型数组与矩阵运算,并提供了丰富的数学函数。首先需安装NumPy (`pip install numpy`)。之后可通过创建数组、索引与切片、执行数学与逻辑运算、变换数组形状及类型、计算统计量和进行矩阵运算等操作来实践学习。NumPy的应用范围广泛,从基础的数据处理到图像处理都能胜任,是数据科学领域的必备工具。
64 0
|
1月前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
47 3
|
1月前
|
存储 机器学习/深度学习 算法
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第26天】NumPy和SciPy是Python科学计算领域的两大核心库。NumPy提供高效的多维数组对象和丰富的数学函数,而SciPy则在此基础上提供了更多高级的科学计算功能,如数值积分、优化和统计等。两者结合使Python在科学计算中具有极高的效率和广泛的应用。
66 2
|
3月前
|
机器学习/深度学习 算法 数据可视化
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
特征工程是机器学习流程中的关键步骤,通过将原始数据转换为更具意义的特征,增强模型对数据关系的理解能力。本文重点介绍处理数值变量的高级特征工程技术,包括归一化、多项式特征、FunctionTransformer、KBinsDiscretizer、对数变换、PowerTransformer、QuantileTransformer和PCA,旨在提升模型性能。这些技术能够揭示数据中的潜在模式、优化变量表示,并应对数据分布和内在特性带来的挑战,从而提高模型的稳健性和泛化能力。每种技术都有其独特优势,适用于不同类型的数据和问题。通过实验和验证选择最适合的变换方法至关重要。
58 5
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
|
2月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
94 10