一、NumPy引见

1. 什么是NumPy

它是运用Python停止科学计算的根底包。它包含各种功用,包括以下重要功用:一个强大的N维数组对象

复杂的(播送)功用

用于集成C / C ++和Fortran代码的工具

具有线性代数、傅立叶变换和随机数等功用

除了明显的科学用处外,NumPy还能够用作通用数据的高效多维容器。能够运用Numpy定义恣意数据类型,允许NumPy无缝且快速地与各种数据库集成。

2. 装置NumPyMac和Linux的用户能够经过pip命令装置NumPy:pip install numpy

请运用python3版本停止装置。装置胜利后如下图:

Windows没有任何相似于linux或mac中的软件包管理器。请从此处下载NumPy的预构建Windows装置程序(依据您的系统配置和Python版本)。

然后手动装置软件包。

二、NumPy数组与它的属性

NumPy中主要对象是多维数组。它是一个元素表(通常是数字),都是相同的类型,由正整数索引元素。

NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。

在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)

NumPy的数组对象称为ndarray,它的别名叫做数组。

轴的数量——秩,就是数组的维数。

示例:[[ 1, 2, 3],[ 4, 2, 5]]秩为2,即这个数组它就有2维或有2个轴

第一维(轴)长度= 2,第二维度长度= 3

整体外形可表示为:(2, 3)

下面演示一下NumPy中数组的最根本的属性。import numpy as np# 创建一个数组arr = np.array([[1, 2, 3], [4, 2, 5]])# 输出数组的类型print("数组的类型: ", type(arr))# 轴的数量或维度的数量print("维度的数量: ", arr.ndim)# 数组的维度,对于矩阵,n行m列print("数组的维度: ", arr.shape)# 数组元素的总个数print("数组元素的总个数: ", arr.size)# ndarray对象的元素类型print("ndarray对象的元素类型: ", arr.dtype)

输出:数组的类型: 维度的数量: 2数组的维度: (2, 3)数组元素的总个数: 6ndarray对象的元素类型: int64

三、多种方式创立数组

有多种办法能够在NumPy中创立数组。例如,您能够运用数组函数运用 列表或元组创立数组。结果数组的类型是从序列中元素的类型推导出来的。

通常,数组的元素最初是未知的,但其大小是已知的。因而,NumPy提供了几个函数来创立具有初始占位符内容的数组。这些最小化了增加阵列的必要性。例如 np.zeros,np.ones,np.full,np.empty等。

为了创立数字序列,NumPy提供了一个相似于返回数组而不是列表的范围的函数。

**arange:**在给定的时间距离内返回平均距离的值。步长是指定的。

**linspace:**在给定的时间距离内返回平均距离的值。

重塑数组:我们能够运用重塑办法来重塑数组。思索一个具有外形的数组(a1,a2,a3,…,aN)。我们能够重塑并将其转换为另一个具有外形的数组(b1,b2,b3,…,bM)。独一需求的条件是:

a1 x a2 x a3 … x aN = b1 x b2 x b3 … x bM。(即阵列的原始大小坚持不变。)

展平数组:我们能够运用展平办法将数据的副本折叠到一个维度。它承受订单参数。默许值为“C”(关于行主要次第)。运用’F’作为列主要订单。

**留意:**创立数组时能够显式定义数组类型。import numpy as np# 使用float类型的数组数据创建数组a = np.array([[1, 2, 4], [5, 8, 7]], dtype='float')

print("使用float类型的数组数据创建数组: ", a)# 元组数据类型创建数组b = np.array((1, 3, 2))

print(" 元组数据类型创建数组: ", b)# 3X4的全零创建数组c = np.zeros((3, 4))

print(" 3X4的全零创建数组: ", c)# 复数创建数组d = np.full((3, 3), 6, dtype='complex')

print(" 复数创建数组: ", d)# 随机数创建数组e = np.random.random((2, 2))

print(" 随机数创建数组: ", e)# 以0~30步长为5的整数创建数组f = np.arange(0, 30, 5)

print(" 以0~30步长为5的整数创建数组: ", f)# 0~5之间的等差的10个值创建数组g = np.linspace(0, 5, 10)

print(" 0~5之间的等差的10个值创建数组: ", g)# 将3X4的数组转化为2X2X3的数组arr = np.array([[1, 2, 3, 4], [5, 2, 4, 2], [1, 2, 0, 1]])

newarr = arr.reshape(2, 2, 3)

print(" 将3X4的数组转化为2X2X3的数组: ", arr)

print("转化后: ", newarr)# 将数组转化为一维的数组arr = np.array([[1, 2, 3], [4, 5, 6]])

flarr = arr.flatten()

print(" 将数组转化为一维的数组: ", arr)

print("转化后: ", flarr)

输出:使用float类型的数组数据创建数组:

[[1. 2. 4.]

[5. 8. 7.]]

元组数据类型创建数组:

[1 3 2]3X4的全零创建数组:

[[0. 0. 0. 0.]

[0. 0. 0. 0.]

[0. 0. 0. 0.]]

复数创建数组:

[[6.+0.j 6.+0.j 6.+0.j]

[6.+0.j 6.+0.j 6.+0.j]

[6.+0.j 6.+0.j 6.+0.j]]

随机数创建数组:

[[0.66694019 0.6944897 ]

[0.11728555 0.21673665]]

以0~30步长为5的整数创建数组:

[ 0 5 10 15 20 25]0~5之间的等差的10个值创建数组:

[0. 0.55555556 1.11111111 1.66666667 2.22222222 2.77777778

3.33333333 3.88888889 4.44444444 5. ]

将3X4的数组转化为2X2X3的数组:

[[1 2 3 4]

[5 2 4 2]

[1 2 0 1]]

转化后:

[[[1 2 3]

[4 5 2]]

[[4 2 1]

[2 0 1]]]

将数组转化为一维的数组:

[[1 2 3]

[4 5 6]]

转化后:

[1 2 3 4 5 6]

python第三方库numpy-谁能介绍下Python生态中的第三方库NumPy相关推荐

  1. python网站设计理念_简单介绍下python Django框架的历史,设计理念及优势_Django讲解2...

    简单介绍下python Django框架的历史,设计理念及优势 Django是一个高层次的 Python Web 框架,它是一个鼓励快速开发和干净,实用的框架设计.Django可以更容易地快速构建更好 ...

  2. python安装第三方库win10_音频处理 windows10下python三方库librosa安装教程

    librosa是处理音频库里的opencv,使用python脚本研究音频,先安装三方库librosa. 如下通过清华镜像源安装librosa: pip install -i https://pypi. ...

  3. python安装第三方库re_音频处理 windows10下python三方库librosa安装教程

    librosa是处理音频库里的opencv,使用python脚本研究音频,先安装三方库librosa. 如下通过清华镜像源安装librosa: pip install -i https://pypi. ...

  4. python爬虫入库到帝国cms_说下Python入门

    其实一直想写点Python入门方面的文章,毕竟读者里初学Python的很多,由于网上已有好些Python入门文章,我找不到好的切入点,写些重复的内容也没啥意义.这两天有些思路就急切的写下来了,希望对学 ...

  5. python 网页版笔记_系统学习下python网络爬虫 笔记一

    系统学习下python网络爬虫的知识 1.爬虫的定义 Web Spider,把互联网定义为一个蜘蛛网,网络蜘蛛通过网页的链接地址来寻找网页. 具体过程:从网站的某一个网页(通常是首页)开始,读取网页的 ...

  6. python什么意思v_稍微介绍下python库之VPython

    额,~!@###@$$#@ VPython是不属于标准Python库的,它是个第三方库.地址在 http://www.vpython.org/. VPython可以很好地进行3D快速原型的开发.比Op ...

  7. python双手打字_盲法介绍及python盲打练习系统

    一:盲打简介与优点 简介:盲打是指打字的时候不用看键盘或看稿打字时的视线不用来回于文稿和键盘之间的行为,盲打可使输入的速度增加.盲打要求打字的人对于键盘有很好的定位能力. 优点:通过练习盲打来提高打字 ...

  8. python官网安装步骤-新手Windows下Python下载安装教程及配置注意事项

    新手如何下载安装Python以及配置环境变量呢?初学者选择Python2还是Python3呢?Windows下安装简单,初学者建议直接选择Python3- 首先分享Python下载方式 到Python ...

  9. python log文件如何不写入syslog_Centos下python 对syslog重写进行日志记录

    在Linux 环境下,python自带一个syslog的模块可以进行日志记录.python可以利用logging模块来重写syslog,这样就可以自定义写入文件的文件名.如果不做配置则直接写入到/va ...

最新文章

  1. linux并发控制之自旋锁
  2. URI是什么意思?URI和URL有什么区别?
  3. php选框判断,网络编程如何判断php复选框是否被选中
  4. 理解 Redux 的最好方式,是自己写一个
  5. 返回空的list集合*彻底删除删除集合*只是清空集合
  6. 【视频格式】webm用什么播放
  7. rime android汉字,Rime输入法
  8. uniapp 实现定位到当前城市
  9. linux中安装apr
  10. 二、8【FPGA】Verilog中锁存器(Latch)原理、危害及避免
  11. 勾号、叉号、圈号的收集
  12. 2021-08-11好奇心
  13. FPS显示和修改——unity3D
  14. 磨砂服务器波特率修改,MOXA串口服务器产品配置说明 附图.doc
  15. hfds下的文件导入hive表格
  16. 基于JAVA实现GPG加密解密(Windows+java两种方式)
  17. 无法删除状态为Dead的容器
  18. 朱西产:智能网联汽车与未来出行变革
  19. 如何将iphone系统由正式版转为beta测试版
  20. Git系列:管理、撤销以及删除

热门文章

  1. Redis实战之征服 Redis + Jedis + Spring (三)
  2. 利用CodeIgniter中的Email类发邮件
  3. VSTO之旅系列(一):VSTO入门
  4. maven多个web模块进行合并
  5. 测试开发面试集锦-测试方面(搬运)
  6. Banner 自动无限轮播(普通)
  7. 较复杂js的书写格式
  8. uva673 Parentheses Balance
  9. jquery为图片添加事件
  10. Linux性能测试 ss命令