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

(0)

相关推荐

  • Python安装Numpy和matplotlib的方法(推荐)

    Python安装Numpy和matplotlib的方法(推荐) 注意: 下载的库名中cp27代表python2.7,其它同理. 在shell中输入import pip; print(pip.pep425tags.get_supported())可以获取到pip支持的文件名还有版本 ================安装Numpy==================== 下载地址: https://pypi.python.org/pypi/numpy  类似 numpy-1.13.3-cp36-no

  • Python 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数组对象 具体解释可以看每一行代码后的解释和输出 复制代码 代码如下:

  • Python Numpy库安装与基本操作示例

    本文实例讲述了Python Numpy库安装与基本操作.分享给大家供大家参考,具体如下: 概述 NumPy(Numeric Python)扩展包提供了数组功能,以及对数据进行快速处理的函数. NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用. 安装 通过pip安装numpy pip install numpy Numpy基本操作 >>> import numpy as np #一般以np作为numpy的别名 >>&

  • Python Matplotlib库安装与基本作图示例

    本文实例讲述了Python Matplotlib库安装与基本作图.分享给大家供大家参考,具体如下: 不论是数据挖掘还是数据建模,都免不了数据可视化的问题.对于Python来说,Matplotlib是著名的绘图库,它主要用于二维绘图,简单的三维绘图. 安装Matplotlib 通过pip安装Matplotlib步骤: 在cmd窗口下,进入到pip安装目录,在命令提示符中依次输入 python -m pip install -U pip setuptools python -m pip instal

  • python psutil库安装教程

    确认本机已安装python环境 查看pip版本 安装psutil 卸载第三方库 总结 以上所述是小编给大家介绍的python psutil库安装教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持! 您可能感兴趣的文章: python使用psutil模块获取系统状态 Python psutil模块简单使用实例

  • Python Numpy库常见用法入门教程

    本文实例讲述了Python Numpy库常见用法.分享给大家供大家参考,具体如下: 1.简介 Numpy是一个常用的Python科学技术库,通过它可以快速对数组进行操作,包括形状操作.排序.选择.输入输出.离散傅立叶变换.基本线性代数,基本统计运算和随机模拟等.许多Python库和科学计算的软件包都使用Numpy数组作为操作对象,或者将传入的Python数组转化为Numpy数组,因此在Python中操作数据离不开Numpy. Numpy的核心是ndarray对象,由Python的n维数组封装而来

  • python numpy库linspace相同间隔采样的实现

    linspace可以用来实现相同间隔的采样: numpy.linspace(start,stop,num=50,endpoint=True,retstep=False, dtype=None) 返回num均匀分布的样本,在[start, stop]. Parameters(参数): start : scalar(标量) The starting value of the sequence(序列的起始点). stop : scalar 序列的结束点,除非endpoint被设置为False,在这种情

  • python numpy库np.percentile用法说明

    在python中计算一个多维数组的任意百分比分位数,此处的百分位是从小到大排列,只需用np.percentile即可-- a = range(1,101) #求取a数列第90%分位的数值 np.percentile(a, 90) Out[5]: 90.10000000000001 a = range(101,1,-1) #百分位是从小到大排列 np.percentile(a, 90) Out[7]: 91.10000000000001 详看官方文档 numpy.percentile Parame

  • Python wordcloud库安装方法总结

    碰到有关于"词云"的概念,那就一定要用到本章教学库--wordcloud,这是第三方的库,主要是用于词云的展示,基本的单位也是以词云为主,利用它的功能,我们可以实现过滤文本信息,这样,就可以直观的观察到我们所需要的信息内容,因此,根据技能上的应用,在实际操作中还是非常常见的,下面来看下安装操作. 安装命令: pip install wordcloud 导入包: from wordcloud import WordCloud 常见方法: 1.加载文本及输出 w = wordcloud.W

  • Python第三方库安装缓慢的解决方法

    前言 一般情况下,我们在命令行中使用pip install 库名的方法安装python第三方库.但由于一些众所周知的原因,这种方法下载速度较慢,容易error,有时候不得不需要去官网手动安装,十分繁琐. 解决方法 使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 库名 命令,在清华镜像开源网站上下载第三方库. 可以看到下载速度有了飞速提升. 注意 这种方法不是万能的,在遇到版本等问题时依然会报错. 总结 到此这篇关于Python第

  • Python黑魔法库安装及操作字典示例详解

    目录 1. 安装方法 2. 简单示例 3. 兼容字典的所有操作 4. 设置返回默认值 5. 工厂函数自动创建key 6. 序列化的支持 7. 说说局限性 本篇文章收录于<Python黑魔法手册>v3.0 第七章,手册完整版在线阅读地址:Python黑魔法手册 3.0 文档 字典是 Python 中基础的数据结构之一,字典的使用,可以说是非常的简单粗暴,但即便是这样一个与世无争的数据结构,仍然有很多人 "用不惯它" . 也许你并不觉得,但我相信,你看了这篇文章后,一定会和我一

随机推荐