Python 知识回顾之 Numpy(2)

四、ndarray的聚合操作

1.基本聚合函数

n1 = np.ones(shape=(5, 4))
--->array([[ 1., 1., 1., 1.],
     [ 1., 1., 1., 1.],
     [ 1., 1., 1., 1.],
     [ 1., 1., 1., 1.],
     [ 1., 1., 1., 1.]])

n1.sum()   # numpy 的聚合,默认是把整个数组的所有数据进行运算
---> 20.0

n1.sum(axis=0)   #可以通过axis控制聚合的维度
---> array([ 5., 5., 5., 5.])

常见的聚合函数:
  • np.sum()      求和
  • np.prod()      所有元素相乘
  • np.mean()    平均值
  • np.std()      标准差
  • np.var()      方差
  • np.median()    中数
  • np.power()    幂运算
  • np.sqrt()     开方
  • np.min()     最小值
  • np.max()    最大值
  • np.argmin()     最小值的下标
  • np.argmax()    最大值的下标
  • np.inf      无穷大
  • np.exp(10)   以e为底的指数
  • np.log(10)    对数

2.any()和all()

  • any: 有True返回True
  • all : 有False返回False

n.array([True, True, True])
n.any()
 ---> True
n.all()
 ---> True

n.array([0, 0, 0])
n.any()
 ---> False
n.all()
 ---> False

五、ndarray的矩阵操作

1.基本的矩阵操作

1)算数运算符:
  • 加减乘除

n1 = np.random.randint(0,100,size=(5,3))
n2 = np.random.randint(0,100,size=(5,3))
display(n1, n2)


image.png
image.png

n1 + n2   # numpy的默认运算符方式,数组中对应位置的数据相互运算


image.png

减,乘,除同理

2) 矩阵积np.dot()

n1 = np.array([[1,2],[3,4]])
n2 = np.array([[1,1],[2,2]])
np.dot(n1, n2)
---> array( [ [5, 5], [11, 11] ] )

矩阵积原理:


image.png

2.广播机制

  • 为缺失的维度补1
  • 假定缺失元素用已有值填充

m = np.ones(2,3)
---> array([[1., 1., 1.], [1., 1., 1.]])
a = np.arange(3)
---> array([0, 1, 2])
m+a
---> array([[1., 2., 3.], [1., 2., 3.]])

a = np.arange(3).reshape((3, 1))
b = np.arange(3)
a + b
---> array([[0, 1, 2], [1, 2, 3], [2, 3, 4]])

a = np.ones((4, 1))
b = np.arange(4)
a + b
---> array([[1., 2., 3., 4.],
       [1., 2., 3., 4.],
       [1., 2., 3., 4.],
       [1., 2., 3., 4.]])

六、ndarray的排序

1.快速排序

  • np.sort() 不改变输入
  • ndarray.sort() 本地处理,不占用空间,但改变输入

data = np.array([9, 8, 5, 2, 3, 0, 4, 1, 6, 7])
sort_values = np.sort(data)
sort_values
---> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

data.sort()
data
---> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容