Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。
Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。
1.ndarray
import numpy as np
# 创建ndarray
score = np.array(
[[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])
score
#输出:
array([[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])
2.运算时间对比
3.ndarray属性
4.ndarray形状
# 创建不同形状的数组
a = np.array([[1,2,3],[4,5,6]])
b = np.array([1,2,3,4])
c = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])
a.shape
b.shape
c.shape
#输出
(2, 3) # 二维数组
(4,) # 一维数组
(2, 2, 3) # 三维数组
5.ndarray类型
6.ndarray基本操作
- np.ones(shape, dtype)
- np.ones_like(a, dtype)
- np.zeros(shape, dtype)
- np.zeros_like(a, dtype)
-
np.array(object, dtype)
-
np.asarray(a, dtype)
-
np.linspace (start, stop, num, endpoint)
-
np.arange(start,stop, step, dtype)
-
np.logspace(start,stop, num)
- np.random.randn(d0, d1, …, dn)
- np.random.normal(loc=0.0, scale=1.0, size=None)
- np.random.standard_normal(size=None)
- np.random.rand(d0, d1, ..., dn)
- np.random.uniform(low=0.0, high=1.0, size=None)
- np.random.randint(low, high=None, size=None, dtype='l')
-
ndarray.reshape(shape, order)
-
ndarray.resize(new_shape)
-
ndarray.T
-
ndarray.astype(type)
-
ndarray.tostring([order])
-
ndarray.tobytes([order])
-
np.unique()
7.ndarray的运算
- < > =
- np.all()
- np.any()
-
np.where
- np.max()
- np.min()
- np.median()
- np.mean()
- np.std()
- np.var()
- np.argmax(axis=) — 最大元素对应的下标
- np.argmin(axis=) — 最小元素对应的下标