NumPy基础

栏目: Python · 发布时间: 5年前

内容简介:最近的爬虫学习告一段落,后续补上爬虫的笔记。现在到数据分析部分,先从NumPy开始(环境python-3.6.5) 2019/1/23NumPy是高性能科学计算和数据分析的基础包。包括以下几个功能:用python原生代码对两个向量相加

最近的爬虫学习告一段落,后续补上爬虫的笔记。现在到数据分析部分,先从NumPy开始(环境python-3.6.5) 2019/1/23

NumPy基础

NumPy是高性能科学计算和数据分析的基础包。包括以下几个功能:

  • ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组;
  • 用于对整组数据进行快速运算的标准数学函数(无需编写循环);
  • 用于读写磁盘的 工具 以及用于操作内存映射文件的工具;
  • 线性代数,随机数生成以及傅里叶变换功能;
  • 用于集成由C,C++,Fortran等语言编写的代码的工具。

例子引入

python 原生代码对两个向量相加

def pythonsum(n):
    a = list(range(n))
    b = list(range(n))
    c = []
    for i in range(len(a)):
        a[i] = i ** 2
        b[i] = i ** 3
        c.append(a[i] + b[i])
    return c

arr = pythonsum(2)
print(arr)

利用NumPy对向量相加。

import numpy as np
def numpysum(n):
    a = np.arange(n) ** 2
    b = np.arange(n) ** 3
    c = a + b
    return c
arr = numpysum(2)
print(arr)

两种方法都可以对向量进行相加,相比而言利用NumPy库的代码会更简洁一点。可以对两种方法计算出执行时间,结果也是NumPy的效率高些。

ndarray,多维数组对象

NumPy中的ndarray是一个多维数组对象,这个对象是一个快速而且灵活的大数据集容器,该对象由两个部分组成:

  • 实际的数据
  • 描述这些数据的元数据

ndarray 是一个通用的同构数据多维容器,指的是其中的 元素 必须是 相同 的数据类型,每一个数组都有一个 shape (表示各维度大小的元组)和一个 dtype (用于说明数据类型的对象)。

In [12]: import numpy as np

In [13]: a = np.arange(5)

In [14]: a.dtype
Out[14]: dtype('int32')

In [15]: a.shape
Out[15]: (5,)

In [16]: a
Out[16]: array([0, 1, 2, 3, 4])

NumPy中创建数组的函数

函数 说明
array 将输入数据(元组,列表或其他序列类型)转换为ndarray。要么推断出dtype,要么显示指定dtype。默认直接复制输入数据
asarray 将输入转换为ndarray,如果输入就是一个ndarray就不进行复制
arange 类似内置的range,但返回的是一个ndarray而不是一个列表
ones,ones_like 根据指定的形状和dtype创建一个全是1的数组。ones_like以另一个数组为参数,并根据其形状和dtype创建一个全为1的数组
zeros,zeros_like 类似于ones,ones_like,只不过创建的是全为0的数组

以上所述就是小编给大家介绍的《NumPy基础》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

敏捷软件开发

敏捷软件开发

马丁 / 邓辉、孙鸣 / 人民邮电出版社 / 2008-01-01 / 69.00元

《敏捷软件开发:原则模式和实践(C#版)》不仅是一部深入浅出、生动易懂的面向对象原则与设计模式著作。而且还是一部通俗的敏捷方法导引书和快速实用的LJML教程。通过《敏捷软件开发:原则模式和实践(C#版)》你会发现,许多以前看起来非常枯燥费解的概念,忽然间都豁然开朗。变得鲜活生动起来。 C#版与此前的Java版相比,主要的更新包括加强了UML的介绍章节。使其更加贴近实战;增加了对MVP模式的介......一起来看看 《敏捷软件开发》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具