个人笔记1:np.argmax,np.sum,np.dot,np.random.choice的用法

本文详细介绍了numpy库中的argmax函数用于寻找数组最大值位置的方法,以及sum函数求和功能,矩阵乘法dot操作,以及random.choice函数进行随机选择的应用实例。涵盖了从一维到多维数组,以及不同维度参数的选择。
摘要由CSDN通过智能技术生成

np.argmax用法

用途:寻找最大值的位置
一维情况
例一:

import numpy as np  #使用时先加载这个库
a = np.array([0,5,7,8,1,3])
print(np.argmax(a))
#输出结果为:
3

二维情况
例二:

import numpy as np
a = np.array([[1, 5, 5, 2],
              [9, 6, 2, 8],
              [3, 7, 9, 1]])
print(np.argmax(a, axis=0))  #当axis=0时
#输出结果为:
[1,2,2,1]
#分别对应:
a[1][0], a[2][1], a[2][2], a[1][3]

当axis=0时,按列进行最大值识别,提取最大值的位置。
例三:

import numpy as np
a = np.array([[1, 5, 5, 2],
              [9, 6, 2, 8],
              [3, 7, 9, 1]])
print(np.argmax(a, axis=1))  #当axis=1时
#输出结果为:
[1,0,2]
#分别对应:
a[0][1], a[1][0], a[2][2]

当axis=1时,按行进行最大值识别,提取最大值的位置。

三维情况
例四:

import numpy as np
a = np.array([[[1, 5, 5, 2],
               [9, -6, 2, 8],
               [-3, 7, -9, 1]],
              [[-1, 5, -5, 2],
               [9, 6, 2, 8],
               [3, 7, 9, 1]]])
print(np.argmax(a, axis=0))   #当axis=0时
#输出结果为:
[[0 0 0 0]
 [0 1 0 0]
 [1 0 1 0]]

当axis=0时,按如下方式进行判断,输出二维数组。
np.argmax(a, axis=0)的含义是在a[0][j][k],a[1][j][k] (j=0,1,2,k=0,1,2,3)中寻找最大值的位置(索引)
在这里插入图片描述

例五:

import numpy as np
a = np.array([[[1, 5, 5, 2],
               [9, -6, 2, 8],
               [-3, 7, -9, 1]],
              [[-1, 5, -5, 2],
               [9, 6, 2, 8],
               [3, 7, 9, 1]]])
print(np.argmax(a, axis=1))  #当axis=1时
#输出结果为:
[[1 2 0 1]
 [1 2 2 1]]

当axis=1时,按如下方式进行判断,输出二维数组。
np.argmax(a, axis=1)的含义是a[i][0][k],a[i][1][k],a[i][2][k] (i=0,1,k=0,1,2,3)中寻找最大值的位置(索引)
在这里插入图片描述

np.sum用法

用途:求和

例一:

import numpy as np
a = sum([0,1,2])   
b = sum((2,3,4), 1)        # 元组计算总和后再加 1
c = sum([0,1,2,3,4], 2)      # 列表计算总和后再加 2
print(a)
print(b)
print(c)
#输出结果为:
3
10
12

np.dot用法

**用途:**矩阵乘法
例一:

import numpy as np
a = np.array([1,2,3,4,5])
b = np.array([2,3,4,5,6])
c = np.dot(a,b)
print(c)
#输出结果为:
70

其原理为:a[0]*b[0]+a[1]*b[1]+…+a[i]*b[i], i = (0,1,2,…,n)

例二:

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([[2,3,4],[5,6,7],[8,9,10]])
c = np.dot(a,b)
print(c)
#输出结果为:
[[ 36  42  48]
 [ 81  96 111]
 [126 150 174]]

就是矩阵乘法,矩阵A*矩阵B。36 = a[0][0]*b[0][0] + a[0][1]*b[1][0] + a[0][2]*b[2][0]。
相近的还有:A·B,np.multiply(A,B)
具体差别请看:
https://blog.csdn.net/zenghaitao0128/article/details/78715140?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

np.random.choice用法

用途::从数组或整数中随机挑选数据出来
有三个参数可以控制:
replace,元素是否重新抽取,就是抽出来放不放回去,默认为True,不管的话就是默认打开
size,输出元素的格式。
p,以概率p随机选取大小为size的数据,默认为None,一般用不上。
例一:

import numpy as np
a = np.array([1,2,3,4,5,6,7,8,9])
b = np.random.choice(a, 6)
c = np.random.choice(a, (3,3))
d = np.random.choice(a, (3,3), replace=False)
print(b)
print(c)
print(d)
#输出结果:
[9 4 8 3 4 6]
[[7 6 9]
 [7 7 7]
 [4 4 4]]
[[3 6 4]
 [1 9 8]
 [7 2 5]]

暂时遇到这么多,以后遇到再做笔记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值