栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

numpy函数积累

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy函数积累

1.创建一个 5x5 的二维数组,并设置值 1, 2, 3, 4 落在其对角线下方:

结果为:

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

运用函数:np.diag( , k = )

函数解释:会返回一个矩阵的对角线,一般而言默认k=0,当k>0时,表示返回对角线上面的 对角线数值,若k<0,则表示返回对角线下面的对角线数值。比如:

#当k=-1时
import numpy as np
a = np.arange(16).reshape(4,4)
print('-'*10)
print(a)

print('-'*10)
b = np.diag(a,k=-1)
print(b)

#result
# ----------
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]
#  [12 13 14 15]]
# ----------
# [ 4  9 14]


#当k=2时
import numpy as np
a = np.arange(16).reshape(4,4)
print('-'*10)
print(a)

print('-'*10)
b = np.diag(a,k=2)
print(b)

#result
----------
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]
----------
[2 7]

2.沿横轴分割数组:

运用到函数:np.hsplit( ary, section = )

split这个单词代表的意思就是分割,section表示的就是 将原数组分割成多少份,分割成多少个数组。要注意的是:切割以后得到的数组,形状上与元素组相同:也即是具有相同的shape

比如这儿是:2行6列,那么分割的时候,就会分割成2行的,块数就是3,那么分割之后的每一个矩阵都是2行 2列(一共6列,除以3块)

同样的,还有函数vsplit函数,方向就与hsplit相反。

import numpy as np
harr = np.floor(10 * np.random.random((2, 6)))
print(harr)
print(np.hsplit(harr, 3))
#原array:
[[ 8.  5.  0.  2.  3.  8.]
 [ 0.  2.  9.  5.  8.  2.]]
#拆分后:
[array([[ 8.,  5.],
        [ 0.,  2.]]), array([[ 0.,  2.],
        [ 9.,  5.]]), array([[ 3.,  8.],
        [ 8.,  2.]])]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001614.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号