【Day 28】NumPy (5):sum(), power(), transpose()

前言

今天要继续来介绍一下用於数学运算的函式,NumPy 太多用途了,真的非常需要好好的了解 NumPy 的各种语法。

今天会介绍 sum()power()transpose()

NumPy

np.sum()

把输入的元素相加起来的函式,完整语法如下:

np.sum(arr, axis, dtype, out)

  • arr:输入的 array
  • axis:是否要根据 相加
  • dtype:资料型态
  • out:如果有 out,会将结果储存在 out 内,这个 array 的大小必须和输出的一样
import numpy as np
array1 = np.array([1, 2, 3, 4, 5.2])

x = np.sum(array1, dtype = np.float32)
print(x)
# 输出
# 15.2

y = np.sum(array1, dtype = np.uint8)
print(y)
# 输出
# 15
  • axis:底下用图片来示意 axis = 0axis = 1 的方向,他会沿着指定方向去相加出结果,不会全部加成一个常数而已。

    # axis = 0
    array1 = np.array([[1, 2, 3, 4],
                       [5, 6, 7, 8],
                       [9, 10, 11, 12]])
    
    x = np.sum(array1, axis = 0)
    
    print(x)
    # 输出
    # [15 18 21 24]
    

    # axis = 0
    array1 = np.array([[1, 2, 3, 4],
                       [5, 6, 7, 8],
                       [9, 10, 11, 12]])
    
    x = np.sum(array1, axis = 1)
    
    print(x)
    # 输出
    # [10 26 42]
    

np.power()

先来看一下语法:np.power(x1, x2)

把输入的 arr 求 n 次方,x1 是 array,x2 可以是常数n 也可以是另一个 array,但是 x2 的行或列至少要有一个跟 x1 一样

x1 内的每个元素都 3 次方。

x1 = np.array([1, 2, 3, 4])

z = np.power(x1, 3)

print(z)
# 输出
# [ 1  8 27 64]

x1 内的每个元素对 x2 的元素取次方。

x1 = np.array([1, 2, 3, 4])
x2 = np.array([1, 2, 3, 4])
z = np.power(x1, x2)

print(z)
# 输出
# [  1   4  27 256]

x1 内的每个元素对 x2 的元素取次方,并且 x2 有两个 row 所以输出也是两个 row。

x1 = np.array([1, 2, 3, 4])
x2 = np.array([[1, 2, 3, 4],
               [6, 6, 6, 6]])
z = np.power(x1, x2)

print(z)
# 输出
# [[   1    4   27  256]
#  [   1   64  729 4096]]
x1 = np.array([[4],
               [2]])
x2 = np.array([[1, 2, 3],
              [4, 5, 6]])
z = np.power(x1, x2)

print(z)
# 输出
# [[ 4 16 64]
#  [16 32 64]]

np.transpose()

取得输入 array 的转置矩阵。

array1 = np.array([[1, 2, 3, 4],
                   [6, 6, 6, 6]])
x = np.transpose(array1)

print(x)
# 输出
# [[1 6]
#  [2 6]
#  [3 6]
#  [4 6]]

结语

NumPy 的介绍就先介绍到这边了,祝大家在学习的路上都能学到所需的知识。

待续...


<<:  Day28 - [Shioaji] 超入门!永丰证券程序交易API快速上手 (1)

>>:  Day28 小乌龟自动掘井挖隧道

新新新手阅读 Angular 文件 - Component - Day23

本文内容 本文是阅读有关 Angular 的元件生命周期的 OnChanges 的笔记内容。 ngO...

JavaScript学习日记 : Day28 - console实用技巧

开发过程中常常会需要使用console.log()来检视输出是否正确,所以能够妥善运用各种conso...

从 IT 技术面细说 Search Console 的 27 组数字 KPI (2.5) :平均排名的图解

在这系列文的第二篇有提到,SEO 做得越好,平均排名是下降的,很多人都很惊讶,所以我就文章稍作解释:...

【Day 13】MySQL Basics II

啊啊啊啊啊啊啊啊啊 我打了老半天结果不小心按到上一页 说好的自动储存呢QQQQQQQQQQQQQQ...