Python NumPy库安装使用笔记

   这篇文章主要介绍了Python NumPy库安装使用笔记,本文讲解了NumPy的安装和基础使用,并对每一句代码都做了详细解释,需要的朋友可以参考下

  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]),)

时间: 2024-09-11 10:00:15

Python NumPy库安装使用笔记的相关文章

Python NLTK库安装Error:Resource u*corpora/gutenberg* not found.

转载请标明出处: http://blog.csdn.net/djy1992/article/details/72828734 本文出自:[奥特曼超人的博客] 提起聊天机器人, 想必大家会想起一个优秀的库,NLTK库,这里简化了安装流程并提到大家都会遇到的一个错误. Resource u*corpora/gutenberg* not found. Please use the NLTKDownloader to obtain the resource: 运行环境: WIN+Python 2.7 安

Python中pip安装非PyPI官网第三方库的方法

  这篇文章主要介绍了Python中pip安装非PyPI官网第三方库的方法,pip最新的版本(1.5以上的版本), 出于安全的考虑,pip不允许安装非PyPI的URL,本文就给出两种解决方法,需要的朋友可以参考下 在python中安装非自带python模块,有三种方式: 1.easy_install 2.pip 3.下载压缩包(.zip, .tar, .tar.gz)后解压, 进入解压缩的目录后执行python setup.py install命令 本文主要针对pip安装时可能会碰到的一种情况,

《Python数据科学指南》——2.2 使用NumPy库

2.2 使用NumPy库 Python中,NumPy提供了一条高效处理超大数组的途径.大多数Python科学计算库中都在内部使用NumPy处理数组和矩阵操作.在本书中,NumPy被广泛应用,我们在本节介绍它. 2.2.1 准备工作 我们先写一系列语句来操作数组和矩阵,学习如何使用NumPy.目的是让您习惯使用NumPy数组,它也是本书大多数内容的基础. 2.2.2 操作方法 我们先创建一些简单的矩阵和数组. # Recipe_1a.py # 导入NumPy库,命名为np import numpy

Python pygame安装过程笔记

今天看到一个教程,是关于Python安装pygame模块的.觉得很好,拿来分享一下. 安装Python 额,这个小题貌似在这里很是多余啊.但是为了照顾到刚刚学习Python的童鞋,我还是多啰嗦两句吧. 具体如下: 我们要到Python官网.去下载我们需要的版本.我这里下载的是windows64位 的Python2.7 msi.安装的过程如果不懂,选择为默认即可. 安装easy_install 至于这是个什么东东?我们大可不必劳心,现在只需要知道它能帮助我们安装一些库就可以了.具体的安装过程也很简

Python标准库——走马观花

原文:Python标准库--走马观花 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢!   Python的一大好处在于它有一套很有用的标准库(standard library).标准库是随着Python一起安装在你的电脑中的,是Python的一部分 (当然也有特殊情况.有些场合会因为系统安全性的要求,不使用全部的标准库,比如说Google App Engine).   利用已有的类(class)和函数(function)进行开发

Python lxml模块安装教程

  这篇文章主要介绍了Python lxml模块安装教程,本文分别讲解了Windows系统和Linux系统下的安装教程,需要的朋友可以参考下 lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库.lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定.它与众不同的地方是它兼顾了这些库的速度和功能完整性,以及纯Python API的简洁性,与大家熟知的ElementTree API兼容但比之更优越!但安装lxml却又有点麻烦,因为

Python Matplotlib库入门指南

  这篇文章主要介绍了Python Matplotlib库入门指南,本文讲解了Matplotlib是什么,然后给出了Matplotlib基础绘图实例如绘制折线图.绘制多线图,并给出了图例功能使用实例,需要的朋友可以参考下 Matplotlib简介 Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.最初是模仿了Matlab图形命令, 但是与Matlab是相互独立的. 通过Matplotlib中简单的接

Python机器学习库

   Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: 比较成熟的(广播)函数库: 用于整合C/C++和Fortran代码的工具包: 实用的线性代数.傅里叶变换和随机数生成函数.      SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化.线性代数.积分.插值.特殊函数.快速傅里叶变换.信号处理和图像处理.常微分方程求解和其他科学与工程中常用的

Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas)

Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas) 如果还没有本地安装Python.IPython.notebook等请移步 上篇Python,IPython,qtconsole,Notebook,Jupyter快速安装教程 本教程是安装二进制文件,以Windows10 64位操作系统为例,但是二进制文件对应其他Linux和mac os也同样试用. 在开始安装之前,请注意以下前提条件.否则,会出现各种问题. 默认机器上已经安装了P