NumPy

Eric讨论 | 贡献2021年5月25日 (二) 04:04的版本

NumPy是Python中科学计算的基本软件包。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

简介

时间轴

安装

pip安装

pip install NumPy

其他内置软件包

如果使用的是Anaconda等计算科学软件包,已经安装好了NumPy库。

导入NumPy

在脚本顶部导入,一般的NumPy导入方式如下:

import numpy as np

基础知识

数据类型

ndarray

NumPy提供了N维数组类型(N-dimensional array)即ndarray,它是NumPy的核心。这是一个表示多维度、同类型并且固定大小的数组对象。所有ndarray对象都有如下性质:

  • 数组的每个元素占用相同大小的内存块,并且所有块的解释执行方式都一样。
  • 数组中每个元素

了解更多 >> Numpy 手册:数组对象 Numpy 手册:ndarray对象


创建数组

常用创建数组方法:

命令 格式 描述
array() numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0, like=None) 创建一个数组。 示例:
np.array([1,2,3]) 返回array([1, 2, 3]),将Python数组(列表)转化为Numpy数组(ndarray)。
ones() numpy.ones(shape, dtype=None, order='C', *, like=None) 返回一个使用1填充的并按指定形状和数据类型生成的新数组。示例:
np.ones(2) 返回array([1., 1.]),是一维有2个元素的数组。
np.ones((2,3)) 返回二维每维有3个元素的数组。
ones_like() numpy.ones_like(a,dtype = None,order ='K',subok = True,shape = None ) 返回一个使用1填充,形状和数据类型与给定数组一样的新数组。示例:
np.ones_like(nd1) 返回一个数组形状和数据类型与nd1一样,值使用1填充。
zeros() numpy.zeros(shape, dtype=float, order='C', *, like=None) 返回给定形状和类型的新数组,并用0填充。示例:
np.zeros(2) 返回array([0., 0.]),是一维有2个元素的数组。
np.zeros((2,3)) 是二维每维有3个元素的数组。
zeros_like() numpy.zeros_like(a, dtype=None, order='K', subok=True, shape=None) 返回一个使用0填充,形状和数据类型与给定数组一样的新数组。示例:
np.zeros_like(nd1) 返回一个数组形状和数据类型与nd1一样,值使用0填充。
full() numpy.full(shape, fill_value, dtype=None, order='C', *, like=None) 返回给定形状和类型的新数组,并用fill_value填充。示例:
np.full((2,3),fill_value=3.14) 返回形状为2x3,值为3.14的数组
full_like() numpy.full_like(a, fill_value, dtype=None, order='K', subok=True, shape=None)
empty()
empty_like()
arange() numpy.arange(start=0, stop, step=1, dtype=None, *, like=None) 返回等差数列的一维数组。可指定区间和步长,区间左闭右开。 示例:
np.arange(2) 返回array([0, 1])
np.arange(6,11,step=2) 返回array([ 6, 8, 10])
linspace() numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0) 返回等差数列的一维数组。可指定区间和个数,区间左闭右闭。示例:
np.linspace(1,2,num = 2) 返回array([1., 2.])
np.linspace(1,100,num = 3) 返回array([ 1. , 50.5, 100. ])
random.randint() random.randint(low, high=None, size=None, dtype=int) 返回随机整数的一维数组。可指定区间和个数,区间左闭右开。
np.random.randint(0,100,size = 10) 返回有10个元素的一维数组,值为0到100(不包含)的随机整数。
random.rand()
random.randn()
random.normal()


了解更多 >> Numpy 手册:数组创建示例 Numpy 手册:随机数


数组属性

复制和视图

输入输出

索引

广播

通用函数

通用函数(Universal functions),简称ufunc,是一种ndarrays以逐个元素的方式运行的函数,支持数组广播,类型转换和其他几个标准功能。也就是说,ufunc是函数的“向量化”包装器,该函数采用固定数量的特定输入并产生固定数量的特定输出。

了解更多 >> Numpy 手册:通用函数


数学运算

三角函数

位运算函数

比较函数

资源

官网

相关网站

书籍

  • 《利用Python进行数据分析》 - 韦斯·麦金尼

参考