首页 > 编程 > Python > 正文

Python 机器学习库 NumPy入门教程

2020-02-22 23:43:44
字体:
来源:转载
供稿:网友

NumPy是一个Python语言的软件包,它非常适合于科学计算。在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础库。

本文是对它的一个入门教程。

介绍

NumPy是一个用于科技计算的基础软件包,它是Python语言实现的。它包含了:

强大的N维数组结构 精密复杂的函数 可集成到C/C++和Fortran代码的工具 线性代数,傅里叶变换以及随机数能力

除了科学计算的用途以外,NumPy也可被用作高效的通用数据的多维容器。由于它适用于任意类型的数据,这使得NumPy可以无缝和高效的集成到多种类型的数据库中。

获取NumPy

由于这是一个Python语言的软件包,因此需要你的机器上首先需要具备Python语言的环境。关于这一点,请自行在网络上搜索获取方法。

关于如何获取NumPy也请参阅scipy.org官网上的Installing packages。本文不再赘述。

笔者推荐使用pip的方式安装Python包,命令如下:

pip3 install numpy

本文的代码在如下的环境中验证和测试:

硬件:MacBook Pro 2015 OS:macOS High Sierra 语言环境:Python 3.6.2 软件包:numpy 1.13.3

可以在这里获取到本文的所有源码:https://github.com/paulQuei/numpy_tutorial

另外,

为了简单起见,本文我们会通过Python的print函数来进行结果的验证 为了拼写方便,我们会默认import numpy as np

基础属性与数组创建

NumPy的基础是一个同构的多维数据,数组中的元素可以通过下标来索引。在NumPy中,维度称之为axis(复数是axes),维度的数量称之为rank。

例如:

下面是一个具有rank 1的数组,axis的长度为3:

[1, 2, 3]

下面是一个具有rank 2的数组,axis的长度也是3:

[[ 1, 2, 3],
 [ 4, 5, 6]]

我们可以通过array函数来创建NumPy的数组,例如这样:

a = np.array([1, 2, 3])b = np.array([(1,2,3), (4,5,6)])

请注意,这里方括号是必须的,下面这种写法是错误的:

a = np.array(1,2,3,4) # WRONG!!!

NumPy的数组类是ndarray,它有一个别名是 numpy.array,但这与Python标准库的array.array并不一样。后者仅仅是一个一维数组。而ndarray具有以下的属性:

ndarray.ndim:数组的维数。在Python世界中,维数称之为rank ndarray.shape:数组的维度。这是一系列数字,长度由数组的维度(ndim)决定。例如:长度为n的一维数组的shape是n。一个n行m列的矩阵的shape是n,m ndarray.size:数组中所有元素的数量 ndarray.dtype:数组中元素的类型,例如numpy.int32, numpy.int16或者numpy.float64 ndarray.itemsize:数组中每个元素的大小,单位为字节 ndarray.data:存储数组元素的缓冲。通常我们只需要通过下标来访问元素,而不需要访问缓冲
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表