| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> NumPy库的简要入门学习 -> 正文阅读 |
|
[Python知识库]NumPy库的简要入门学习 |
NumPy(Numerical Python) 是使用Python进行科学计算的基础软件包。支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 numpy为我们提供了一个特殊的数组对象, 用它表示一维数组、二维矩阵等。 numpy提升了Python中数据计算的速度,比python快,因为底层是C。 对于任何想要运算的数据,需要预先将他们表示成numpy数组的形式。 >>> import numpy as np? #导入numpy库,并起别名为np >>> np.array([1,2,3])? #创建一个数组 >>> a = np.zeros((3,2))?? #创建一个全0的数组,此处为三行两列的全0数组 >>> a.shape???? #获取数组的尺寸,此处输出(3,2) >>>np.ones((2,4))?? #创建一个全部是一的数组 >>>np.arange(3,7)?? #创建一个递增的数列,此处array([3,4,5,6]),类似于python的range >>>np.linspace(0,1,5)? #返回介于某个区间等间距分布的数,此处返回范围0到1,输出5个数 >>>np.random.rand(2,4)? #生成随机数组 数组默认的数据类型是64位浮点数 >>> a=np.zeros((4,2),dtype=np.int32)? #通过dtype指定其他的数据类型 >>> b=a.astype(int)? #转换数据类型 对数指数运算:np.log(a)? ,??? np.power(a,2) #平方 数组与实数运算:a * 5? #各个元素与这个数的乘积,这个操作称为广播(Broadcasting) 求最值:a.min()? ? ?a.max() #数组a中最小或最大的元素 最值的索引:a.argmin()?? a.argmax()??? #返回最小或最大元素所在的索引 不同尺寸的数组也可以做运算,numpy会将这两个数组扩展至相同的尺寸 axis参数 获取数组内元素,例如第一行第二列的元素,则为下标0,1 按照条件筛选出指定的元素,如小于3的元素。 此处“条件”可以通过逻辑运算符==、&、|等组合出更复杂的条件 切片获取数据,如第一行第1-2列的所有数据,0:2代表[0,2),不包含2 第二个冒号的后面可以跟一个跨度,如下举例 从右往左逆向返回这个数组,会经常看到 ::-1 的写法,翻转数组。 三、numpy的典型应用:图片处理 通常可以把一张灰度图看作是一个二维的数组,数组中的每个元素用来表示像素点的亮度值。 对于彩色的图片,可以用三维数组来表示。数组中的第三维分别存储了像素点的红绿蓝分量。 使用Pillow这个库在Python中读取图片(pip install pilllow安装) im = Image.open('picture.jpg') im= np.array(im)? #将图片转换成一个numpy数组 im.shape #可以看到图片一共有多少行、多少列,以及颜色分量的数量(如彩色是3) 可以通过下标访问某个像素点的颜色,如100,100 这里的运算结果是浮点数,为了显示图片,需要将图片转换成整型数。 可利用跨度对图片进行降采样 im[::10 , ::10 , :] 翻转图片 im[::-1 , : , : ]??? ,利用跨度-1,这里指定的是第一个维度,因此图片会上下翻转。 裁剪图片,可以利用切片,如im[40:540 , 40:900 , :] 书籍:https://www.labri.fr/perso/nrougier/from-python-to-numpy/ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/25 15:03:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |