当前位置: 代码迷 >> 综合 >> Numpy基础函数小结(random,sum,tile,hstack,fliplr,cumprod)
  详细解决方案

Numpy基础函数小结(random,sum,tile,hstack,fliplr,cumprod)

热度:78   发布时间:2023-12-16 01:02:13.0

Numpy基础函数小结


Author: Labyrinthine Leo?? Init_time: 2020.11.30


Index Words: Numpy


公众号:Leo的博客城堡
在这里插入图片描述


在这里插入图片描述


Numpy的几个简单函数小结

笔者简单介绍一下numpy中的几个矩阵计算函数。


1、 np.rondom.random()

在这里插入图片描述

该函数根据传入的size参数随机生成[0.0,1.0)之间的值。

>>>np.random.random((2,3)) # 产生两行三列的矩阵
[[0.90340192 0.1374747  0.13927635]
[0.80739129 0.39767684 0.1653542 ]]
>>>1-np.random.random((3,)) # 取值范围变为(0.0,1.0]
[0.07249142 0.65223414 0.2491879 ]

2、 np.random.uniform()

在这里插入图片描述

该函数有三个参数取值的下界、上界和矩阵维度,同上,左闭右开(貌似numpy中均是如此),然后在此范围中均匀的取size大小的矩阵。

>>>np.random.uniform(1, 10, (2, 3))
[[7.72409478 6.00616211 2.22809703]
[1.53925921 2.0920911  1.40096691]]

3、 np.random.randint()

在这里插入图片描述

该函数只能取整数,注意当前两个定界的参数有一个缺失时,则默认取到[0, low),但此时对维度必须使用size关键字指定,且界值必须大于0。

>>>np.random.randint(-5, 10, (2, 6))
[[ 3 -4  5 -1  7  9]
[ 6  9 -2 -2  6  5]]
>>>np.random.randint(6, size=(2, 5)) # 必须使用size关键字,且界值大于0
[[5 4 3 0 0]
[0 4 5 1 5]]

4、 np.sum()

在这里插入图片描述

注意里面的axis参数,表示对某个维度的值进行求和,如果是0,则表示从行选取元素那就是对列进行求和,同理如果是1,则表示从列中选取元素那就是对行进行求和。我们要保持输出结果的维度和输入矩阵相同,则设置参数keepdimsTrue即可。

>>>x = np.random.random((3, 10))
[[0.99732285 0.17234051 0.13713575 0.93259546 0.69681816 0.06600017
0.75546305 0.75387619 0.92302454 0.71152476]
[0.12427096 0.01988013 0.02621099 0.02830649 0.24621107 0.86002795
0.53883106 0.55282198 0.84203089 0.12417332]
[0.27918368 0.58575927 0.96959575 0.56103022 0.01864729 0.80063267
0.23297427 0.8071052  0.38786064 0.86354185]]
>>>np.sum(x, axis=1, keepdims=True)
[[6.14610144]
[3.36276484]
[5.50633085]]
>>>np.sum(x, axis=0, keepdims=True)
[[1.40077749 0.77797991 1.13294248 1.52193217 0.96167652 1.72666079
1.52726839 2.11380336 2.15291607 1.69923993]]

5、 np.tile()

在这里插入图片描述

该函数传入两个参数,一个A矩阵,一个rpes表示对矩阵A复制的形状,比如reps=(3,2),从外到内进行复制,即按行复制三次,按列复制两次,如:

>>>np.tile([1,2,3,4,5],(3, 2))
[[1 2 3 4 5 1 2 3 4 5]
[1 2 3 4 5 1 2 3 4 5]
[1 2 3 4 5 1 2 3 4 5]]

在这里插入图片描述


6、 np.hstack()

在这里插入图片描述

该函数对两个矩阵进行合并,在最里层的元素进行堆叠:
在这里插入图片描述


7、 np.fliplr()

在这里插入图片描述

该函数对矩阵进行按行翻转,其实等同于a[:, ::-1]
在这里插入图片描述


8、 np.cumprod()

在这里插入图片描述

该函数就是按照给定的axis对元素进行求累积乘,比如[1,2,3]生成[1 2 6],表示[1*1 1*2 1*2*3],之所以介绍该函数,正是符合上述目标函数中不断变化的x1,x2,…xM?1x_1,x_2, \dots x_{M-1}x1?,x2?,xM?1?的乘积。
在这里插入图片描述



临渊羡鱼不如退而结网
创作不易,如果您觉得这篇文章对你有用,可以点个赞,算是对笔者的支持和激励!这里是Leo的博客城堡,以Python为核,ML&DL为主,泛之形形色色,输寥寥拙见,摄浮光掠影,讲三两故事。临渊羡鱼,不如退而结网,持续干货输出,有趣的灵魂值得你的关注!
原文可以去笔者的github主页:https://github.com/LabyrinthineLeo/Yxs_Git_Learning_repos查看(如果可以,点个star也无妨呀,嘿嘿)。


在这里插入图片描述



  相关解决方案