{DAY 14} NumPy 学习笔记(下)

前言

现在到了练习NumPy的最後一天,现在要开始跟资料分析的流程接轨

所以我决定从网路上的开源资料找题库练习!

今天的练习涵盖两个部分:

  1. 阵列的数学运算
  2. NumPy题库练习

阵列的数学运算

  1. 基础运算(加、减、乘、除、次方)

    #先创一个一维阵列
    a = np.array([1,2,3,4])
    a
    '''array([1, 2, 3, 4])'''
    
    # calaulations
    print("+ :", a+2) #a+=2
    print("- :", a-2)
    print("* :", a*2)
    print("/ :", a/2)
    print("** :",a**2)
    '''
    + : [3 4 5 6]
    - : [-1  0  1  2]
    * : [2 4 6 8]
    / : [0.5 1.  1.5 2. ]
    ** : [ 1  4  9 16]
    '''
    
    
  2. 也可以使用在多个同样形状的矩阵

    b = np.array([1,55,1,55])
    
    print("+ :", a+b) #也等同於 a+=2
    print("- :", a-b)
    print("* :", a*b)
    print("/ :", a/b)
    
    '''
    + : [ 2 57  4 59]
    - : [  0 -53   2 -51]
    * : [  1 110   3 220]
    / : [1.         0.03636364 3.         0.07272727]
    '''
    
  3. sin, cos : np.sin( ) , np.cos( )

    print(np.sin(a))
    print(np.cos(a))
    '''
    [ 0.84147098  0.90929743  0.14112001 -0.7568025 ]
    [ 0.54030231 -0.41614684 -0.9899925  -0.65364362]
    '''
    
  4. 简单线性代数:

    • 外积: np.matmul(a,b) 或是 a.dot(b)
    • 矩阵乘法需要符合第一个栏数等於第二个矩阵列数的条件
    a = np.ones((2,3))
    print(a)
    
    print("------")
    
    b = np.full((3,2),2)
    print(b)
    
    print("------")
    
    # matrix multiply function(.matmul(matrix1, matrix2))
    print(np.matmul(a,b)) #也可以使用print(a.dot(b))
    
    '''
    [[1. 1. 1.]
     [1. 1. 1.]]
    ------
    [[2 2]
     [2 2]
     [2 2]]
    ------
    [[6. 6.]
     [6. 6.]]
    '''
    
  5. 基础统计:

    • 平均数: np.mean( )
    • 最小值: np.min( )
    • 最大值: np.max( )
    • 总合:np.sum( )
    #先创一个一维阵列
    stats = np.array([[1,2,3],[4,5,6]])
    print(stats)
    '''
    array([[1, 2, 3],
           [4, 5, 6]])
    '''
    
    # 平均值,最大值,最小值
    print("min:",np.min(stats))#会取得整个矩阵的最小值
    '''1 '''
    # 若是想取得每个row的最小值
    print("row basis:",np.min(stats, axis=1)) 
    '''row basis: [1 4]'''
    
    # 同样的方法操作在最大值一次
    print("max:", np.max(stats)) #若不指定轴度,将会是整个矩阵的最大值
    print("column basis:", np.max(stats, axis=0)) #沿着column取最大值
    '''
    max: 6
    column basis: [4 5 6]
    '''
    #计算总和
    np.sum(stats,axis=1)
    '''array([ 6, 15])'''
    # sums up by column
    np.sum(stats, axis=0)
    '''array([5, 7, 9])'''
    

    沿着每个row计算:axis = 1
    沿着每个column计算:axis = 0

NumPy应用

今天的题库是利用这个网站上的题库

101 Numpy Exercises for Data Analysis

结语

因为之後的学习历程上都会需要使用到NumPy

现在把基础打好非常重要

NumPy还有很多运算功能跟语法

可以在NumPy的官网上查到

NumPy

之後要往Pandas的统计分析,Matplotlib作图前进!


<<:  JS语法学习Day1

>>:  Day 26 「一个巨星的诞生」Entity、Repository 与单元测试

当责:实践篇

前言 昨天简单介绍了当责,今天来看看它的好处,以及实践上可能遇到的问题。 再做点补充 上一篇文章提到...

[第九天]从0开始的UnityAR手机游戏开发-介绍Unity写程序的基本语法。

现在的Unity插件五花八门,现在自己写出一个简单的游戏甚至不用自己写脚本,利用Asset Stor...

[DAY 23] _I2S协议(1)

昨天介绍完I2S由於我还没写出stm32f030的spi读写Flash的程序,就没付上代码解释了,我...

【Vue】按照文件操作,怎麽还是报错|macOS 安装 CLI 指令

创建 CLI(command-line interface) 环境前,要先下载 node.js ① ...

Day01-系列文介绍、规划

前言 Hello 大家好我是 Larry,去年休息一次後今年决定再度参战,这也是我第三次参加铁人赛了...