美文网首页
2.4 Numpy 基础运算2

2.4 Numpy 基础运算2

作者: 吴国友 | 来源:发表于2019-02-21 15:49 被阅读0次

学习资料:

通过上一节的学习,我们可以了解到一部分矩阵中元素的计算和查找操作。然而在日常使用中,对应元素的索引也是非常重要的。依然,让我们先从一个脚本开始 :

import numpy as np
A = np.arange(2,14).reshape((3,4)) 

# array([[ 2, 3, 4, 5]
#        [ 6, 7, 8, 9]
#        [10,11,12,13]])
         
print(np.argmin(A))    # 0
print(np.argmax(A))    # 11

numpy 的几种基本运算

其中的 argmin()argmax() 两个函数分别对应着求矩阵中最小元素和最大元素的索引。相应的,在矩阵的12个元素中,最小值即2,对应索引0,最大值为13,对应索引为11。

如果需要计算统计中的均值,可以利用下面的方式,将整个矩阵的均值求出来:

print(np.mean(A))        # 7.5
print(np.average(A))     # 7.5

仿照着前一节中dot() 的使用法则,mean()函数还有另外一种写法:

print(A.mean())          # 7.5

同样的,我们可以写出求解中位数的函数:

print(A.median())       # 7.5

另外,和matlab中的cumsum()累加函数类似,Numpy中也具有cumsum()函数,其用法如下:

print(np.cumsum(A)) 

# [2 5 9 14 20 27 35 44 54 65 77 90]

cumsum()函数中:生成的每一项矩阵元素均是从原矩阵首项累加到对应项的元素之和。比如元素9,在cumsum()生成的矩阵中序号为3,即原矩阵中2,3,4三个元素的和。

相应的有累差运算函数:

print(np.diff(A))    

# [[1 1 1]
#  [1 1 1]
#  [1 1 1]]

该函数计算的便是每一行中后一项与前一项之差。故一个3行4列矩阵通过函数计算得到的矩阵便是3行3列的矩阵。

下面我们介绍一下nonzero()函数:

print(np.nonzero(A))    

# (array([0,0,0,0,1,1,1,1,2,2,2,2]),array([0,1,2,3,0,1,2,3,0,1,2,3]))

这个函数将所有非零元素的行与列坐标分割开,重构成两个分别关于行和列的矩阵。

同样的,我们可以对所有元素进行仿照列表一样的排序操作,但这里的排序函数仍然仅针对每一行进行从小到大排序操作:

import numpy as np
A = np.arange(14,2, -1).reshape((3,4)) 

# array([[14, 13, 12, 11],
#       [10,  9,  8,  7],
#       [ 6,  5,  4,  3]])

print(np.sort(A))    

# array([[11,12,13,14]
#        [ 7, 8, 9,10]
#        [ 3, 4, 5, 6]])

矩阵的转置有两种表示方法:

print(np.transpose(A))    
print(A.T)

# array([[14,10, 6]
#        [13, 9, 5]
#        [12, 8, 4]
#        [11, 7, 3]])
# array([[14,10, 6]
#        [13, 9, 5]
#        [12, 8, 4]
#        [11, 7, 3]])


特别的,在Numpy中具有clip()函数,例子如下:

print(A)
# array([[14,13,12,11]
#        [10, 9, 8, 7]
#        [ 6, 5, 4, 3]])

print(np.clip(A,5,9))    
# array([[ 9, 9, 9, 9]
#        [ 9, 9, 8, 7]
#        [ 6, 5, 5, 5]])

这个函数的格式是clip(Array,Array_min,Array_max),顾名思义,Array指的是将要被执行用的矩阵,而后面的最小值最大值则用于让函数判断矩阵中元素是否有比最小值小的或者比最大值大的元素,并将这些指定的元素转换为最小值或者最大值。

实际上每一个Numpy中大多数函数均具有很多变量可以操作,你可以指定行、列甚至某一范围中的元素。

相关文章

  • 2.4 Numpy 基础运算2

    学习资料: 通过上一节的学习,我们可以了解到一部分矩阵中元素的计算和查找操作。然而在日常使用中,对应元素的索引也是...

  • Numpy入门

    1、熟悉 numpy 的基础属性 2、numpy 创建 array 3、numpy的基础运算 4、numpy索引 ...

  • python库用途说明

    numpy提供基础矩阵运算

  • Numpy 基础运算2

    学习资料: Numpy中文文档先从一个脚本开始 : numpy 的几种基本运算 其中的 argmin() 和 ar...

  • Python3.7模块numpy

    numpy官网 0.numpy的基本属性 1.矩阵的创建 2.numpy基础运算 3.numpy索引 4.矩阵合并...

  • numpy_基础运算2

    Demo.py 结果:

  • Python干货-Numpy基础计算

    numpy基础运算 创建两个array用于运算 numpy中的减法运算 通过上例可以看出,两个array,形状一样...

  • python数据科学02-numpy数组统计操作

    1、数组基础运算 python内置方法:+-*/, //向下整除,**指数运算,% 取余数 numpy提供函数:指...

  • 数据分析基础-numpy

    NumPy基础1 数组与标量的运算 arr=np.array([[1.,2,.3.],[4.,5.,6.]])ar...

  • Numpy矩阵的基础运算(2)

    这是对上一篇矩阵的基础运算的补充,如果有的运算没提到,可以翻翻上一篇 在此附上视频链接 一、引入numpy第三方库...

网友评论

      本文标题:2.4 Numpy 基础运算2

      本文链接:https://www.haomeiwen.com/subject/eazryqtx.html