Numpy常用函数用法大全目录
点击函数名查看详解
排序 |
函数名 |
描述 |
A |
array |
创建一个np数组 |
|
arange |
返回指定范围内的数组 |
|
argmax |
返回沿轴axis最大值的索引 |
B |
bincount |
返回数组中的值中索引出现的次数 |
C |
copysign |
将b中各元素的符号赋值给数组a的对应元素 |
D |
dot |
矩阵运算 |
E |
exp |
e的N次方 |
F |
full |
返回给定形状和类型的新数组,填充fill_value |
G |
gradient |
返回N维数组的梯度 |
H |
hsplit |
通过指定要返回的相同shape的array的数量,或者通过指定分割应该发生之后的列来沿着其横轴拆分原array |
I |
isnan |
测试NaN的元素,并将结果作为布尔数组返回 |
L |
log |
e的指数 |
|
linspace |
在指定的间隔内返回均匀间隔的数字 |
M |
max |
数组中最大的键 |
R |
reshape |
不改变数据同时改变数据格式 |
|
random.choice |
随机分布一个数组 |
|
random.randn |
返回一个或一组样本,具有标准正态分布 |
S |
sum |
每个数组各个键的总和 |
v |
vsplit |
沿着垂直轴分割,其分割方式与hsplit用法相同 |
Z |
zeros_like |
生成0填充形状和传入数组相同的数组 |
|
zeros |
返回来一个给定形状和类型的用0填充的数组 |
Numpy.array(p_object, dtype=None, ndmin=0)
- p_object :array_like,数组,对象,其方法返回一个数组或任何(嵌套的)序列。
- dtype:data-type,数据类型,可选,数组所需的数据类型,默认最小类型序列。
- ndmin:int,最小维数,可选,默认0。
import numpy as np
// p_object
a, b = [1, 2], {3, 4}
np.array(a) // [1 2]
np.array(b) // {3, 4}
// dtype 转换元素类型
np.array([1, 2], dtype=str) // ['1' '2']
// ndmin 设置2会嵌套一层维度
a = [1,8,4,1,3,4,5]
np.array(a, ndmin=2) // [[1 8 4 1 3 4 5]]
Numpy.arange([start, ]stop, [step, ]dtype=None)
- start:number,可选,开始,默认的起始值是0。
- stop:number,可选,结束。
- step:number,可选,间隔。
- dtype: dtype,可选,输出数组的类型,默认推断类型。
import numpy as np
// 一个参数3.0结束
np.arange(3.0) // [0. 1. 2.]
// 两个参数3开始6结束
np.arange(3, 7) // [3 4 5 6]
// dtype转换类型
np.arange(3, 7, dtype=float) // [3. 4. 5. 6.]
// 三个参数3.0开始6.0结束,间隔0.5
np.arange(3.0, 7.0, 0.5) // [3. 3.5 4. 4.5 5. 5.5 6. 6.5]
numpy.dot(a, b)
- a,数组1
- b,数组2
import numpy as np
a = [[1, 0], [0, 1]]
b = [[4, 1], [2, 2]]
np.dot(a, b)
// [[4 1]
[2 2]]
4 = 1 * 4 + 0 * 2
1 = 1 * 1 + 0 * 2
2 = 0 * 4 + 1 * 2
2 = 0 * 1 + 1 * 2
numpy.exp(x)
- a,数组1或int
import numpy as np
np.exp(1)
// 2.718281828459045
// e的n次方
np.exp([1,2])
// [2.71828183 7.3890561 ] e的1 2 次方
np.log()
- a,数组1或int
import numpy as np
np.log(np.exp(4))
// 4.0
// e的指数
x.reshape() 不改变数据同时改变数据格式
- a,数组1或int
import numpy as np
np.arange(6).reshape((3, 2))
// [[0 1]
[2 3]
[4 5]]
np.sum() 每个数组各个键的总和
- a,数组1或int
import numpy as np
np.sum([1,3,4])
// 8
np.max() 返回数组最大值
- a,数组1或int
import numpy as np
np.max([2,5,6,7])
// 7
np.zeros_like() 生成0填充形状和传入数组相同的数组
import numpy as np
np.zeros_like([2,3])
// [0 0]
np.random.choice() 随机分布一个数组
import numpy as np
np.random.choice(a=5, size=3, replace=False, p=None)
// [4 1 2]
np.random.choice(a=5, size=2, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])
// [3 2] 4的概率为0
np.linspace() 在指定的间隔内返回均匀间隔的数字
import numpy as np
np.linspace(2.0, 3.0, num=5)
np.linspace(2.0, 3.0, num=5, endpoint=False)
np.linspace(2.0, 3.0, num=5, retstep=True)
np.argmax() 返回沿轴axis最大值的索引
a = [[0, 1, 2], [3, 4, 5]]
np.argmax(a)
np.argmax(a, axis=0)
np.argmax(a, axis=1)
np.zeros() 返回来一个给定形状和类型的用0填充的数组
np.zeros(5)
np.zeros((5,), dtype=np.int)
np.zeros((2, 1))
a = (2,2)
np.zeros(a)
np.bincount() 返回数组中的值中索引出现的次数
x = np.array([0, 1, 1, 3, 2, 1, 7, 7])
np.bincount(x)
np.copysign() 将b中各元素的符号赋值给数组a的对应元素
np.copysign(1.3, -1)
1/np.copysign(0, 1)
1/np.copysign(0, -1)
np.full() 返回给定形状和类型的新数组,填充fill_value
np.full((2, 2), np.inf)
np.full((2, 2), 10)
np.gradient() 返回N维数组的梯度
f = np.array([1, 2, 4, 7, 11, 16], dtype=float)
np.gradient(f)
np.gradient(f, 2)
np.hsplit() 通过指定要返回的相同shape的array的数量,或者通过指定分割应该发生之后的列来沿着其横轴拆分原
import numpy as np
harr = np.floor(10 * np.random.random((2, 6)))
print(harr)
print(np.hsplit(harr, 3))
[[ 8. 5. 0. 2. 3. 8.]
[ 0. 2. 9. 5. 8. 2.]]
[array([[ 8., 5.],
[ 0., 2.]]), array([[ 0., 2.],
[ 9., 5.]]), array([[ 3., 8.],
[ 8., 2.]])]
np.isnan() 测试NaN的元素,并将结果作为布尔数组返回
np.isnan(np.nan)
>>> np.isnan(np.inf)
np.isnan([np.log(-1.),1.,np.log(0)])
np.vsplit() 沿着垂直轴分割,其分割方式与hsplit用法相同
varr = np.arange(16).reshape([4,4])
print(varr)
print(np.vsplit(varr, 2))
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
[array([[0, 1, 2, 3],
[4, 5, 6, 7]]), array([[ 8, 9, 10, 11],
[12, 13, 14, 15]])]
np.random.randn() 返回一个或一组样本,具有标准正态分布
np.random.randn(2,4)