1. NumPy安装

使用pip包管理工具进行安装

复制代码 代码如下:

$ sudo pip install numpy

使用pip包管理工具安装ipython(交互式shell工具)

复制代码 代码如下:

$ sudo pip instlal ipython

$ ipython --pylab #pylab模式下, 会自动导入SciPy, NumPy, Matplotlib模块

2. NumPy基础

2.1. NumPy数组对象

具体解释可以看每一行代码后的解释和输出

复制代码 代码如下:

In [1]: a = arange(5) # 创建数据

In [2]: a.dtype

Out[2]: dtype('int64') # 创建数组的数据类型

In [3]: a.shape # 数组的维度, 输出为tuple

Out[3]: (5,)

In [6]: m = array([[1, 2], [3, 4]]) # array将list转换为NumPy数组对象

In [7]: m # 创建多维数组

Out[7]:

array([[1, 2],

[3, 4]])

In [10]: m.shape # 维度为2 * 2

Out[10]: (2, 2)

In [14]: m[0, 0] # 访问多维数组中特定位置的元素, 下标从0开始

Out[14]: 1

In [15]: m[0, 1]

Out[15]: 2

2.2. 数组的索引和切片

复制代码 代码如下:

In [16]: a[2: 4] # 切片操作类似与Python中list的切片操作

Out[16]: array([2, 3])

In [18]: a[2 : 5: 2] # 切片步长为2

Out[18]: array([2, 4])

In [19]: a[ : : -1] # 翻转数组

Out[19]: array([4, 3, 2, 1, 0])

In [20]: b = arange(24).reshape(2, 3, 4) # 修改数组的维度

In [21]: b.shape

Out[21]: (2, 3, 4)

In [22]: b # 打印数组

Out[22]:

array([[[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]],

[[12, 13, 14, 15],

[16, 17, 18, 19],

[20, 21, 22, 23]]])

In [23]: b[1, 2, 3] # 选取特定元素

Out[23]: 23

In [24]: b[ : , 0, 0] # 忽略某个下标可以用冒号代替

Out[24]: array([ 0, 12])

In [23]: b[1, 2, 3]

Out[23]: 23

In [24]: b[ : , 0, 0] # 忽略多个下标可以使用省略号代替

Out[24]: array([ 0, 12])

In [26]: b.ravel() # 数组的展平操作

Out[26]:

array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,

17, 18, 19, 20, 21, 22, 23])

In [27]: b.flatten() # 与revel功能相同, 这个函数会请求分配内存来保存结果

Out[27]:

array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,

17, 18, 19, 20, 21, 22, 23])

In [30]: b.shape = (6, 4) # 可以直接对shape属性赋值元组来设置维度

In [31]: b

Out[31]:

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11],

[12, 13, 14, 15],

[16, 17, 18, 19],

[20, 21, 22, 23]])

In [30]: b.shape = (6, 4) # 矩阵的转置

In [31]: b

Out[31]:

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11],

[12, 13, 14, 15],

[16, 17, 18, 19],

[20, 21, 22, 23]])

2.3. 组合数组

复制代码 代码如下:

In [1]: a = arange(9).reshape(3, 3) # 生成数组对象并改变维度

In [2]: a

Out[2]:

array([[0, 1, 2],

[3, 4, 5],

[6, 7, 8]])

In [3]: b = a * 2 # 对a数组对象所有元素乘2

In [4]: b

Out[4]:

array([[ 0, 2, 4],

[ 6, 8, 10],

[12, 14, 16]])

#######################

In [5]: hstack((a, b)) # 水平组合数组a和数组b

Out[5]:

array([[ 0, 1, 2, 0, 2, 4],

[ 3, 4, 5, 6, 8, 10],

[ 6, 7, 8, 12, 14, 16]])

In [6]: vstack((a, b)) # 垂直组合数组a和数组b

Out[6]:

array([[ 0, 1, 2],

[ 3, 4, 5],

[ 6, 7, 8],

[ 0, 2, 4],

[ 6, 8, 10],

[12, 14, 16]])

In [7]: dstack((a, b)) # 深度组合数组, 沿z轴方向层叠组合数组

Out[7]:

array([[[ 0, 0],

[ 1, 2],

[ 2, 4]],

[[ 3, 6],

[ 4, 8],

[ 5, 10]],

[[ 6, 12],

[ 7, 14],

[ 8, 16]]])

2.4. 分割数组

复制代码 代码如下:

In [8]: a

Out[8]:

array([[0, 1, 2],

[3, 4, 5],

[6, 7, 8]])

In [9]: hsplit(a, 3) # 将数组沿水平方向分割成三个相同大小的子数组

Out[9]:

[array([[0],

[3],

[6]]),

array([[1],

[4],

[7]]),

array([[2],

[5],

[8]])]

In [10]: vsplit(a, 3) # 将数组沿垂直方向分割成三个子数组

Out[10]: [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]

2.5. 数组的属性

复制代码 代码如下:

In [12]: a.ndim # 给出数组的尾数或数组的轴数

Out[12]: 2

In [13]: a.size # 数组中元素的个数

Out[13]: 9

In [14]: a.itemsize # 数组中元素在内存中所占字节数(int64)

Out[14]: 8

In [15]: a.nbytes # 数组所占总字节数, size * itemsize

Out[15]: 72

In [18]: a.T # 和transpose函数一样, 求数组的转置

Out[18]:

array([[0, 3, 6],

[1, 4, 7],

[2, 5, 8]])

2.6. 数组的转换

复制代码 代码如下:

In [19]: a.tolist() # 将NumPy数组转换成python中的list

Out[19]: [[0, 1, 2], [3, 4, 5], [6, 7, 8]]

3. 常用函数

复制代码 代码如下:

In [22]: c = eye(2) # 构建2维单位矩阵

In [23]: c

Out[23]:

array([[ 1., 0.],

[ 0., 1.]])

In [25]: savetxt("eye.txt", c) # 将矩阵保存到文件中

In [5]: c, v = loadtxt("test.csv", delimiter=",", usecols=(0, 1), unpack=True) # 分隔符为, usecols为元组表示要获取的字段数据(每一行的第零段和第一段), unpack为True表示拆分存储不同列的数据, 分别存入c, v

In [12]: c

Out[12]: array([ 1., 4., 7.])

In [13]: mean(c) # 计算矩阵c的mean均值

Out[13]: 4.0

In [14]: np.max(c) # 求数组中的最大值

Out[14]: 7.0

In [15]: np.min(c) # 求数组中的最小值

Out[15]: 1.0

In [16]: np.ptp(c) # 返回数组最大值和最小值之间的差值

Out[16]: 6.0

In [18]: numpy.median(c) # 找到数组中的中位数(中间两个数的平均值)

Out[18]: 4.0

In [19]: numpy.var(c) # 计算数组的方差

Out[19]: 6.0

In [20]: numpy.diff(c) # 返回相邻数组元素的差值构成的数组

Out[20]: array([ 3., 3.])

In [21]: numpy.std(c) # 计算数组的标准差

Out[21]: 2.4494897427831779

In [22]: numpy.where(c > 3) # 返回满足条件的数组元素的下标组成的数组

Out[22]: (array([1, 2]),)

python怎么安装numpy库-Python NumPy库安装使用笔记相关推荐

  1. python怎么安装numpy库-python怎么安装numpy库

    NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. Python官网上的发行版是不包含Num ...

  2. python怎么安装pin库_Python库之numpy库的安装教程

    一.numpy简介 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算.NumPy这个词来源于两个单词-- Numerical和Python.NumPy提供了大量的库函数和操作,可以 ...

  3. python的numpy库安装_Python库之numpy库的安装教程

    一.numpy简介 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算.NumPy这个词来源于两个单词-- Numerical和Python.NumPy提供了大量的库函数和操作,可以 ...

  4. python3.7安装numpy库和matplotlib库_详解Python中的Numpy、SciPy、MatPlotLib安装与配置

    用Python来编写机器学习方面的代码是相当简单的,因为Python下有很多关于机器学习的库.其中下面三个库numpy,scipy,matplotlib,scikit-learn是常用组合,分别是科学 ...

  5. 唐宇迪学习笔记1:Python环境安装、Pytho科学计算库——Numpy

    目录 一.AI数据分析入门 ​1.案例来源 2.Python环境配置(Python3) Python的安装 Python库安装工具 Jupyter Notebook 二.Python科学计算库--Nu ...

  6. python下载numpy库教程_Python库之numpy库的安装教程

    一.numpy简介 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算.NumPy这个词来源于两个单词-- Numerical和Python.NumPy提供了大量的库函数和操作,可以 ...

  7. 为什么python安装不了numpy库_Python NumPy库安装使用笔记

    1. NumPy安装 使用pip包管理工具进行安装 $ sudo pip install numpy 使用pip包管理工具安装ipython(交互式shell工具) $ sudo pip instla ...

  8. python第三方库numpy-Python第三方库之Numpy库

    易知大学任务(2)成绩表雷达分析图 概述 Numpy 最基本的库,是用于处理含有同种元素的多维数组运算的第三方库 -科学计算包,python数据分析及科学计算的基础库,几乎支撑所有其他库 -支持N维数 ...

  9. python基础代码库-Python基础数据处理库-NumPy

    最近更新:2017-07-19 NumPy是Python做数据处理的底层库,是高性能科学计算和数据分析的基础,比如著名的Python机器学习库SKlearn就需要NumPy的支持.掌握NumPy的基础 ...

  10. 玩数据必备Python库:Numpy使用详解

    导读:Numpy(Numerical Python的简称)是高性能科学计算和数据分析的基础包,其提供了矩阵运算的功能.本文带你了解Numpy的一些核心知识点. 作者:魏溪含 涂铭 张修鹏 如需转载请联 ...

最新文章

  1. 链接全局变量再说BSS段的清理
  2. 看完GitHub官方的2021年度报告,才发现原来全球程序员好像都在卷呐
  3. Ubuntu 16.04 LTS 在anaconda环境下安装pytorch和tensorflow gpu,cuda10.0
  4. 新的公司:Dendrite
  5. centos查看yum包所有版本(查看包版本)
  6. POI的XWPFTableCell的方法
  7. CSS3 Transition介绍
  8. c ++异常处理_C ++中的异常处理
  9. Objective-C 学习笔记1 HelloWorld
  10. Anacond win10安装与介绍
  11. BiCubic双三次插值算法进行上采样python与matlab代码实现
  12. mysql页面浏览记录表设计
  13. vb如何调用计算机日历,跪求vb.net简易日历制作的源代码
  14. R3Det: Refined Single-Stage Detector with Feature Refinement for Rotating Object
  15. 更改web.config,让godady的win主机启用gzip压缩
  16. 网站PC端与wap端适配
  17. freemarer代码生成案例
  18. Delphi @ ^
  19. 设置单选框只能选择一个
  20. ICCV2019语义分割/UDA:ACE: Adapting to Changing Environments for Semantic SegmentationACE:适应变化环境下的语义分割

热门文章

  1. android8 Notification
  2. C语言 链表的创建--打印--逆置--新增--删除--排序--释放
  3. cookie和session的理解
  4. C#实现快速重命名JPEG文件
  5. mysql的覆盖索引原理_「Mysql索引原理(七)」覆盖索引
  6. python编程从入门到实践看完了看什么-小白Python编程从入门到实践——列表是什么...
  7. python中实例方法与实例属性-Python中的类属性和实例属性以及静态方法和类方法...
  8. python中文编码-Python中文乱码(转)
  9. python画三维立体图-Python 竟能绘制出如此酷炫的三维图
  10. python有趣的小项目-10 个最值得 Python 新人练手的有趣项目