Numpy
Numpy |
一、概述
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
安装方法:
pip install numpy
引用方法:
import numpy as np #命名为np
二、ndarray
1.创建ndarray对象
Numpy的核心特征就是ndarray,简称多维数组对象。
实际运用如下图所示:
它跟列表的主要区别:数组对象内的元素类型必须相同,以及数组大小不可修改。
2.属性
属性 | 描述 |
T | 多维数组的转置 |
dtype | 数组元素的数据类型 |
size | 数组元素的个数 |
ndim | 数组的维数 |
shape | 数组的维度大小(以元组形式表示) |
具体运用如下:
3.数据类型
类型 | 描述 |
布尔型 | bool_ |
整型 | int_ int8 int16 int32 int64 |
无符号整型 | uint8 uint16 uint32 uint64 |
浮点型 | float_ float16 float32 float64 |
复数型 | complex_ complex64 complex128 |
整型: int32只能表示(-2**31,2**31-1),因为它只有32个位,只能表示2**32个数 无符号整型: 只能用来存正数,不能用来存负数 补充: astype()方法可以修改数组的数据类型
4.创建ndarray方法
方法 | 描述 |
array() |
将列表转换为数组,可选择显式指定dtype |
arange() |
range的numpy版,支持浮点数 |
linspace() |
类似arange() , 第三个参数为数组长度 |
zeros() |
根据指定形状和dtype创建全0数组 |
ones() |
根提指定形状和dtype创健全1数组 |
empty() |
根据指定形状和dtype创建空数组(随机值) |
eye() |
根据指定边长和dtype创建单位矩阵 |
具体运用如下:
5.运算
(1)乘法运算
(2)加法运算
(3)索引
(4)切片
有一点要注意:就是利用切片修改的数据会影响原来的数据,举个例子:
从上图可以看出,对切片后的数据进行修改会影响原数据。
三、通用函数
通用函数表示能对数组中所有元素同时进行运算的函数
3.1一元数组
能够接收一个数组的叫做一元函数。
函数 | 功能 |
abs、fabs | 分别是求整数和浮点数的绝对值 |
sqrt | 求各元素的平方根 |
square | 求各元素的平方 |
exp | 求各元素的指数e**x |
log | 求对数 |
sign | 求各元素的正负号 |
ceil | 求各元素的向上取整的值 |
floor | 求各元素的向下取整的值 |
rint | 求各元素的四舍五入整数的值,保留dtype |
modf | 将数组的小数部分和整数部分以两个独立数组的形式返回 |
isnan | 求各元素的是否非数字值 |
isinf | 表示那些元素是无穷的布尔型数组 |
cos、sin、tan | 三角函数 |
3.2二元数组
能够接收二个数组的叫二元函数。
函数 | 功能 |
add | 将数组中对应的元素相加 |
subtract | 从第一个数组中减去第二个数组中的元素 |
multiply | 数组元素相乘 |
divide、floor_divide | 除法或向下整除法 |
power | 数组元素乘方 |
maximum、fmax | 计算最大值 |
miximum、fmix | 计算最小值 |
mod | 元素的求摸计算 |
3.3数学统计方法
函数 | 功能 |
sum | 求和 |
cumsum | 求前缀和 |
mean | 求平均数 |
std | 求标准差 |
var | 求方差 |
min | 求最小值 |
max | 求最大值 |
argmin | 求最小值索引 |
argmax | 求最大值索引 |
3.4随机数
随机数生成函数在np.random的子包中
函数 | 功能 |
rand | 给定形状产生随机数组(0到1之间的数) |
randint | 给定形状产生随机整数 |
chocie | 给定形状产生随机选择 |
shuffle | 与定形状随机排序 |
uniform | 给定形状产生随机数组 |