Numpy学习
文章目录
- Numpy学习
- Numpy的简介
- 什么是Numpy
- 为什么使用Numpy
- Numpy和机器学习
- 如何使用Numpy
- 基础使用
- 基础操作
- 创建数组
Numpy的简介
什么是Numpy
NumPy(Numerical Python)是 Python 科学计算的基础包,它是一个开源的 Python 扩展库,用来支持大数据量的高维数组和矩阵运算,比 Python 自身的嵌套列表(该结构也可以用来表示矩阵)结构要高效的多。
NumPy 提供了许多高级的数值编程工具,比如矩阵数据类型、矢量处理、高精度运算等,它专为严格的数字处理而产生。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
- 一个强大的 N 维数组对象 ndarray;
- 广播功能函数;
- 整合 C/C++/Fortran 代码的工具;
- 线性代数、傅里叶变换、随机数生成等功能。
为什么使用Numpy
由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。例如为了保存一个简单的[1,2,3]
,都需要有 3 个指针和 3 个整数对象。对于数值运算来说,这种结构显然比较浪费内存和 CPU 等宝贵资源。
至于 array 对象,它可以直接保存数值,和C语言的一维数组比较类似。但是由于它不支持多维,在上面的函数也不多,因此也不适合做数值运算。
Numpy 的诞生弥补了这些不足,它提供了两种基本的对象:ndarray(N-dimensional Array Object)和 ufunc(Universal Function Object)。ndarray 是存储单一数据类型的多维数组,而 ufunc 则是能够对数组进行处理的函数。
Numpy和机器学习
在机器学习和深度学习中,图像、声音、文本等输入数据最终都要转换为数组或矩阵。如何有效地进行数组和矩阵的运算?这就需要充分利用Numpy。
如何使用Numpy
基础使用
基础操作
一般会将numpy更名为np来使用
import numpy as np
print(np.__version__)
数组大小
Z = np.zeros((10,10))
print(Z.size) #100
ptint(Z.itemsize) #8
创建数组
zeros()函数创建一个全是零的数组,这是最基本和常用的创建n维数组的方法
Z = np.zeros(10)
print(Z) #[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
arange()函数在想法上与range函数类似,也是创建数组的常用方法
Z = np.arange(10,30)
print(Z) #[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29]
random方法课用于创建随机值数组
Z = np.random.random((3,3,3))
print(Z)
'''
[[[0.11757184 0.38776176 0.78979583]
[0.13802877 0.48093353 0.61956751]
[0.91376786 0.09106369 0.50310015]]
[[0.03035367 0.89790108 0.87705693]
[0.59908423 0.67145029 0.20128228]
[0.46814959 0.39326309 0.79544883]]
[[0.81819206 0.68706919 0.69438302]
[0.59874449 0.66192036 0.74282909]
[0.23223406 0.27830052 0.61605617]]]
'''
用eye()函数创建单位矩阵
Z = np.eye(3)
print(Z)
'''
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
'''
当然,方法还有很多很多,这些都是最基本的方法。
以上就是对Numpy的一个基础介绍。