1.概述

Numpy(Numerical Python)是科学计算基础库,提供大量科学计算相关功能,比如数据统计,随机数生成。其提供的最核心数据类型为多维数组类型(ndarray),这种数据类型可以支持大量维度的数组与矩阵运算。Numpy一方面支持ndarray对象这种比较复杂的数值类型,另一方面源代码由C语言编写,能够快速实现复杂的数值运算、科学运算功能。

2.安装

最简单的安装方法,就是通过Python自带的pip工具进行安装,操作如下:

pip install numpy

# 针对指定python3的情况
pip3 install numpy

3.测试Numpy安装情况

import numpy as np

# 通过range方式生成ndarray数据
a = np.arange(10)
print(a)
print(type(a))

运算结果:

[0 1 2 3 4 5 6 7 8 9]
<class 'numpy.ndarray'>

说明: 通过np.arange()方式生成的数据[0 1 2 3 4 5 6 7 8 9],从外观上面看和python的内置数据类型列表(list)有些类似,但是在显示过程中,数据中间没有分割符号,另外数据类型是不一样的,是numpy生成的数据类型:ndarray。

4.测试Numpy对于ndarray的支持情况

在概述里面说到,Numpy支持ndarray这种数据类型,同时为ndarray这种数据格式提供了大量科学计算的辅助函数。下面还是通过一个例子来说明:

"""
三种不同的方式对列表元素进行开平方
"""
import numpy as np
import math

# 第一种:遍历生成
lt = [1, 2, 6]
rs1 = []
for val in lt:
    rs1.append(math.sqrt(val))
print(rs1)
print('--' * 20)

# 第二种: 列表推导式
rs2 = [math.sqrt(x) for x in lt]
print(rs2)
print('--' * 20)

# 第三种: 使用numpy实现
rs3 = np.sqrt(np.array(lt))
print(rs3)

运行结果:

[1.0, 1.4142135623730951, 2.449489742783178]
----------------------------------------
[1.0, 1.4142135623730951, 2.449489742783178]
----------------------------------------
[1.         1.41421356 2.44948974]

说明: 第一种和第二种本质上是一样的,只是写法上面的差异。第三种方式,首先通过np.array函数将常规的列表(list)转变成ndarray格式,然后通过numpy内置函数np.sqrt直接对ndarray转换,而不是和前面两个元素需要手动实现单个元素开平方。另外一点需要注意的内容是:最后结果在数值精度上面吧是一些差异的,numpy部分计算计算和math里面存在差异。

注意:

  1. ndarray是numpy自定义数据类型集合,在ndarray里面又可以分为具体不同的数据类型,后面的文章会具体说明。

备注:
更多精彩博客,请访问:聂发俊的技术博客
对应视频教程,请访问:python400
完整markdown笔记,请访问: python400_learn_github