位置: 编程技术 - 正文
推荐整理分享Python科学计算之NumPy入门教程(python科学计算基础教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python科学计算基础,python科学计算程序,python科学计算与数据处理,python科学计算基础教程,python科学计数,python科学计算基础教程,python科学计数,python3.0科学计算指南,内容如对您有帮助,希望把文章链接给更多的朋友!
前言
NumPy是Python用于处理大型矩阵的一个速度极快的数学库。它允许你在Python中做向量和矩阵的运算,而且很多底层的函数都是用C写的,你将获得在普通Python中无法达到的运行速度。这是由于矩阵中每个元素的数据类型都是一样的,这也就减少了运算过程中的类型检测。
矩阵基础
在 numpy 包中我们用数组来表示向量,矩阵和高阶数据结构。他们就由数组构成,一维就用一个数组表示,二维就是数组中包含数组表示。
创建
ndarray (N-dimensional array object) 意思就是n维数组。例子中就表示一个3行4列的二维数组。
形状
数组的大小可以通过其 shape 属性获得:
数组的元素数量可以通过 ndarray.size 得到:
使用 ndarray 的 dtype 属性我们能获得数组元素的类型:
可以用过 shape 重新设置矩阵的形状或者通过 reshape 方法创建一个改变了尺寸的新数组,原数组的shape保持不变:
数组生成
可以用过 np.arange 来创建数组,参数与range类似:
也可以用 np.linspace 创建等差数列:
矩阵运算
计算将变量直接参与运算符,操作符优先级不变:
一个数组中除了 dot() 函数,其他这些操作都是单元操作。
数据提取
切片索引语法:M[lower:upper:step]
矩阵运算
NumPy和Matlab不一样,对于多维数组的运算,缺省情况下并不使用矩阵运算,如果你希望对数组进行矩阵运算的话,可以调用相应的函数。
matrix对象
numpy库提供了matrix类,使用matrix类创建的是矩阵对象,它们的加减乘除运算缺省采用矩阵方式计算,因此用法和matlab十分类似。但是由于NumPy中同时存在ndarray和matrix对象,因此用户很容易将两者弄混。这有违Python的“显式优于隐式”的原则,因此并不推荐在较复杂的程序中使用matrix。
从数组转换为矩阵可以用m = np.matrix(a) 进行转换, 使用 m.T 可以得到m的转置矩阵。
矩阵求逆
浅拷贝与深拷贝
为了获得高性能,Python 中的赋值常常不拷贝底层对象,这被称作浅拷贝。使用 copy 进行深拷贝:
遍历数组元素
通常情况下,我们是希望尽可能避免遍历数组元素的。因为迭代相比向量运算要慢的多。但是有些时候迭代又是不可避免的,这种情况下用 Python 的 for 是最方便的:
总结
标签: python科学计算基础教程
本文链接地址:https://www.jiuchutong.com/biancheng/381396.html 转载请保留说明!友情链接: 武汉网站建设