0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详解Numpy的高级操作

马哥Linux运维 来源:CSDN-逐梦er 作者:CSDN-逐梦er 2022-07-19 09:57 次阅读

01 数组上的迭代

NumPy 包含一个迭代器对象numpy.nditer。它是一个有效的多维迭代器对象,可以用于在数组上进行迭代。数组的每个元素可使用 Python 的标准Iterator接口来访问。

importnumpyasnp
a=np.arange(0,60,5)
a=a.reshape(3,4)
print(a)
forxinnp.nditer(a):
print(x)
[[051015]
[20253035]
[40455055]]
0
5
10
15
20
25
30
35
40
45
50
55

如果两个数组是可广播的,nditer组合对象能够同时迭代它们。假设数 组a具有维度 3X4,并且存在维度为 1X4 的另一个数组b,则使用以下类型的迭代器(数组b被广播到a的大小)。

importnumpyasnp
a=np.arange(0,60,5)
a=a.reshape(3,4)
print(a)
b=np.array([1,2,3,4],dtype=int)
print(b)
forx,yinnp.nditer([a,b]):
print(x,y)
[[051015]
[20253035]
[40455055]]
[1234]
01
52
103
154
201
252
303
354
401
452
503
554

02 数组形状修改函数

1. ndarray.reshape

函数在不改变数据的条件下修改形状,参数如下:

ndarray.reshape(arr, newshape, order)

importnumpyasnp
a=np.arange(8)
print(a)
b=a.reshape(4,2)
print(b)
[01234567]
[[01]
[23]
[45]
[67]]

2. ndarray.flat

函数返回数组上的一维迭代器,行为类似 Python 内建的迭代器。

importnumpyasnp
a=np.arange(0,16,2).reshape(2,4)
print(a)
#返回展开数组中的下标的对应元素
print(list(a.flat))
[[0246]
[8101214]]
[0,2,4,6,8,10,12,14]

3. ndarray.flatten

函数返回折叠为一维的数组副本,函数接受下列参数:

ndarray.flatten(order)

其中:

  • order:‘C’ — 按行,‘F’ — 按列,‘A’ — 原顺序,‘k’ —元素在内存中的出现顺序。
importnumpyasnp
a=np.arange(8).reshape(2,4)
print(a)
#defaultiscolumn-major
print(a.flatten())
print(a.flatten(order='F'))
[[0123]
[4567]]
[01234567]
[04152637]

03 数组翻转操作函数

1. numpy.transpose

函数翻转给定数组的维度。如果可能的话它会返回一个视图。函数接受下列参数:

numpy.transpose(arr, axes)

其中:

  • arr:要转置的数组
  • axes:整数的列表,对应维度,通常所有维度都会翻转。
importnumpyasnp
a=np.arange(24).reshape(2,3,4)
print(a)
b=np.array(np.transpose(a))
print(b)
print(b.shape)
[[[0123]
[4567]
[891011]]

[[12131415]
[16171819]
[20212223]]]
[[[012]
[416]
[820]]

[[113]
[517]
[921]]

[[214]
[618]
[1022]]

[[315]
[719]
[1123]]]
(4,3,2)
b=np.array(np.transpose(a,(1,0,2)))
print(b)
print(b.shape
[[[0123]
[12131415]]

[[4567]
[16171819]]

[[891011]
[20212223]]]
(3,2,4)

2. numpy.ndarray.T

该函数属于ndarray类,行为类似于numpy.transpose.

importnumpyasnp
a=np.arange(12).reshape(3,4)
print(a)
print(a.T)
[[0123]
[4567]
[891011]]
[[048]
[159]
[2610]
[3711]]

3. numpy.swapaxes

函数交换数组的两个轴。这个函数接受下列参数:

numpy.swapaxes(arr, axis1, axis2)

其中:

  • arr:要交换其轴的输入数组
  • axis1:对应第一个轴的整数
  • axis2:对应第二个轴的整数
importnumpyasnp
a=np.arange(8).reshape(2,2,2)
print(a)
print(np.swapaxes(a,2,0))
[[[01]
[23]]

[[45]
[67]]]
[[[04]
[26]]

[[15]
[37]]]

4. numpy.rollaxis

numpy.rollaxis() 函数向后滚动特定的轴,直到一个特定位置。这个函数接受三个参数:

numpy.rollaxis(arr, axis, start)

其中:

  • arr:输入数组
  • axis:要向后滚动的轴,其它轴的相对位置不会改变
  • start:默认为零,表示完整的滚动。会滚动到特定位置。
importnumpyasnp
a=np.arange(8).reshape(2,2,2)
print(a)
print(np.rollaxis(a,2))
print(np.rollaxis(a,2,1))
[[[01]
[23]]

[[45]
[67]]]
[[[02]
[46]]

[[13]
[57]]]
[[[02]
[13]]

[[46]
[57]]]

04 数组修改维度函数

1. numpy.broadcast_to

函数将数组广播到新形状。它在原始数组上返回只 读视图。它通常不连续。如果新形状不符合 NumPy 的广播规则,该函数可能会抛出ValueError。该函数接受以下参数:

numpy.broadcast_to(array, shape, subok)

importnumpyasnp
a=np.arange(4).reshape(1,4)
print(a)
print(np.broadcast_to(a,(4,4)))
[[0123]]
[[0123]
[0123]
[0123]
[0123]]

2. numpy.expand_dims

函数通过在指定位置插入新的轴来扩展数组形状。该函数需要两个参数:

numpy.expand_dims(arr, axis)

其中:

  • arr:输入数组
  • axis:新轴插入的位置
importnumpyasnp
x=np.array(([1,2],[3,4]))
print(x)
y=np.expand_dims(x,axis=0)
print(y)
print(x.shape,y.shape)
y=np.expand_dims(x,axis=1)
print(y)
print(x.ndim,y.ndim)
print(x.shape,y.shape)
[[12]
[34]]
[[[12]
[34]]]
(2,2)(1,2,2)
[[[12]]

[[34]]]
23
(2,2)(2,1,2)

3. numpy.squeeze

函数从给定数组的形状中删除一维条目。此函数需要两个参数。

numpy.squeeze(arr, axis)

其中:

  • arr:输入数组
  • axis:整数或整数元组,用于选择形状中单一维度条目的子集
importnumpyasnp
x=np.arange(9).reshape(1,3,3)
print(x)
y=np.squeeze(x)
print(y)
print(x.shape,y.shape)
[[[012]
[345]
[678]]]
[[012]
[345]
[678]]
(1,3,3)(3,3)

05 数组的连接操作

NumPy中数组的连接函数主要有如下四个:

  • concatenate 沿着现存的轴连接数据序列
  • stack 沿着新轴连接数组序列
  • hstack 水平堆叠序列中的数组(列方向)
  • vstack 竖直堆叠序列中的数组(行方向)

1. numpy.stack

函数沿新轴连接数组序列,需要提供以下参数:

numpy.stack(arrays, axis)

其中:

  • arrays:相同形状的数组序列
  • axis:返回数组中的轴,输入数组沿着它来堆叠
importnumpyasnp
a=np.array([[1,2],[3,4]])
print(a)
b=np.array([[5,6],[7,8]])
print(b)
print(np.stack((a,b),0))
print(np.stack((a,b),1))
[[12]
[34]]
[[56]
[78]]
[[[12]
[34]]

[[56]
[78]]]
[[[12]
[56]]

[[34]
[78]]]

2. numpy.hstack

numpy.stack()函数的变体,通过堆叠来生成水平的单个数组。

importnumpyasnp
a=np.array([[1,2],[3,4]])
print(a)
b=np.array([[5,6],[7,8]])
print(b)
print('水平堆叠:')
c=np.hstack((a,b))
print(c)
[[12]
[34]]
[[56]
[78]]
水平堆叠:
[[1256]
[3478]]

3. numpy.vstack

numpy.stack()函数的变体,通过堆叠来生成竖直的单个数组。

importnumpyasnp
a=np.array([[1,2],[3,4]])
print(a)
b=np.array([[5,6],[7,8]])
print(b)
print('竖直堆叠:')
c=np.vstack((a,b))
print(c)
[[12]
[34]]
[[56]
[78]]
竖直堆叠:
[[12]
[34]
[56]
[78]]

4. numpy.concatenate

函数用于沿指定轴连接相同形状的两个或多个数组。该函数接受以下参数。

numpy.concatenate((a1, a2, …), axis)

其中:

  • a1, a2, ...:相同类型的数组序列
  • axis:沿着它连接数组的轴,默认为 0
importnumpyasnp
a=np.array([[1,2],[3,4]])
print(a)
b=np.array([[5,6],[7,8]])
print(b)
print(np.concatenate((a,b)))
print(np.concatenate((a,b),axis=1))
[[12]
[34]]
[[56]
[78]]
[[12]
[34]
[56]
[78]]
[[1256]
[3478]]

06 数组的分割操作

NumPy中数组的数组分割函数主要如下:

  • split 将一个数组分割为多个子数组
  • hsplit 将一个数组水平分割为多个子数组(按列)
  • vsplit 将一个数组竖直分割为多个子数组(按行)

1. numpy.split

该函数沿特定的轴将数组分割为子数组。函数接受三个参数:

numpy.split(ary, indices_or_sections, axis)

其中:

  • ary:被分割的输入数组
  • indices_or_sections:可以是整数,表明要从输入数组创建的,等大小的子数组的数量。如果此参数是一维数组,则其元素表明要创建新子数组的点。
  • axis:默认为 0
importnumpyasnp
a=np.arange(9)
print(a)
print('将数组分为三个大小相等的子数组:')
b=np.split(a,3)
print(b)
print('将数组在一维数组中表明的位置分割:')
b=np.split(a,[4,7])
print(b)
[012345678]
将数组分为三个大小相等的子数组:
[array([0,1,2]),
array([3,4,5]),
array([6,7,8])]
将数组在一维数组中表明的位置分割:
[array([0,1,2,3]),
array([4,5,6]),
array([7,8])]

2. numpy.hsplit

split()函数的特例,其中轴为 1 表示水平分割。

importnumpyasnp
a=np.arange(16).reshape(4,4)
print(a)
print('水平分割:')
b=np.hsplit(a,2)
print(b)
[[0123]
[4567]
[891011]
[12131415]]
水平分割:
[array([[0,1],
[4,5],
[8,9],
[12,13]]),
array([[2,3],
[6,7],
[10,11],
[14,15]])]

3. numpy.vsplit

split()函数的特例,其中轴为 0 表示竖直分割,无论输入数组的维度是什么。

importnumpyasnp
a=np.arange(16).reshape(4,4)
print(a)
print('竖直分割:')
b=np.vsplit(a,2)
print(b)
[[0123]
[4567]
[891011]
[12131415]]
竖直分割:
[array([[0,1,2,3],
[4,5,6,7]]),
array([[8,9,10,11],
[12,13,14,15]])]

07 数组元素操作

NumPy中数组操作函数主要如下:

  • resize 返回指定形状的新数组
  • append 将值添加到数组末尾
  • insert 沿指定轴将值插入到指定下标之前
  • delete 返回删掉某个轴的子数组的新数组
  • unique 寻找数组内的唯一元素

1. numpy.resize

函数返回指定大小的新数组。如果新大小大于原始大小,则包含原始数组中的元素的重复副本。如果小于则去掉原始数组的部分数据。该函数接受以下参数:

numpy.resize(arr, shape)

其中:

  • arr:要修改大小的输入数组
  • shape:返回数组的新形状
importnumpyasnp
a=np.array([[1,2,3],[4,5,6]])
print(a)
print(a.shape)
b=np.resize(a,(3,2))
print(b)
print(b.shape)
print('修改第二个数组的大小:')
b=np.resize(a,(3,3))
print(b)
print('修改第三个数组的大小:')
b=np.resize(a,(2,2))
print(b)
[[123]
[456]]
(2,3)
[[12]
[34]
[56]]
(3,2)
修改第二个数组的大小:
[[123]
[456]
[123]]
修改第三个数组的大小:
[[12]
[34]]

2. numpy.append

函数在输入数组的末尾添加值。附加操作不是原地的,而是分配新的数组。此外,输入数组的维度必须匹配否则将生成ValueError。函数接受下列函数:

numpy.append(arr, values, axis)

其中:

  • arr:输入数组
  • values:要向arr添加的值,比如和arr形状相同(除了要添加的轴)
  • axis:沿着它完成操作的轴。如果没有提供,两个参数都会被展开。
importnumpyasnp
a=np.array([[1,2,3],[4,5,6]])
print(a)
print(np.append(a,[[7,8,9]],axis=0))
print(np.append(a,[[5,5,5],[7,8,9]],axis=1))
[[123]
[456]]
[[123]
[456]
[789]]
[[123555]
[456789]]

3. numpy.insert

函数在给定索引之前,沿给定轴在输入数组中插入值。如果值的类型转换为要插入,则它与输入数组不同。插入没有原地的,函数会返回一个新数组。此外,如果未提供轴,则输入数组会被展开。

insert()函数接受以下参数:

numpy.insert(arr, obj, values, axis)

其中:

  • arr:输入数组
  • obj:在其之前插入值的索引
  • values:要插入的值
  • axis:沿着它插入的轴
importnumpyasnp
a=np.array([[1,2],[3,4],[5,6]])
print(a)
print(np.insert(a,3,[11,12]))
print(np.insert(a,1,[11],axis=0))
print(np.insert(a,1,[11],axis=1))
[[12]
[34]
[56]]
[1231112456]
[[12]
[1111]
[34]
[56]]
[[1112]
[3114]
[5116]]

4. numpy.delete

函数返回从输入数组中删除指定子数组的新数组。与insert()函数的情况一样,如果未提供轴参数,则输入数组将展开。该函 数接受以下参数:

Numpy.delete(arr, obj, axis)

其中:

  • arr:输入数组
  • obj:可以被切片,整数或者整数数组,表明要从输入数组删除的子数组
  • axis:沿着它删除给定子数组的轴
importnumpyasnp
a=np.array([[1,2],[3,4],[5,6]])
print(a)
print(np.delete(a,5))
print(np.delete(a,1,axis=1))
[[12]
[34]
[56]]
[12345]
[[1]
[3]
[5]]

5. numpy.unique

函数返回输入数组中的去重元素数组。该函数能够返回一个元组,包含去重数组和相关索引的数组。索引的性质取决于函数调用中返回参数的类型。

numpy.unique(arr, return_index, return_inverse, return_counts)

其中:

arr:输入数组,如果不是一维数组则会展开• return_index:如果为true,返回输入数组中的元素下标• return_inverse:如果为true,返回去重数组的下标,它可以用于重构输入数组• return_counts:如果为true,返回去重数组中的元素在原数组中的出现次数

importnumpyasnp
a=np.array([5,2,6,2,7,5,6,8,2,9])
u=np.unique(a)
print(u)
u,indices=np.unique(a,return_index=True)
print(u,indices)
u,indices=np.unique(a,return_inverse=True)
print(u,indices)
u,indices=np.unique(a,return_counts=True)
print(u,indices)
[256789][256789]
[102479][256789]
[1020312405][256789]
[322111]

08 NumPy - 字符串函数

以下函数用于对dtype为numpy.string_或numpy.unicode_的数组执行向量 化字符串操作。它们基于 Python 内置库中的标准字符串函数。字符数组类(numpy.char)中定义

d5dc1ce8-06a3-11ed-ba43-dac502259ad0.png
importnumpyasnp
print(np.char.add(['hello'],['xyz']))
print(np.char.add(['hello','hi'],['abc','xyz']))
print(np.char.multiply('Hello',3))
print(np.char.center('hello',20,fillchar='*'))
print(np.char.capitalize('helloworld'))
print(np.char.title('hellohowareyou?'))
print(np.char.lower(['HELLO','WORLD']))
print(np.char.lower('HELLO'))
print(np.char.upper('hello'))
print(np.char.upper(['hello','world']))
print(np.char.split('hellohowareyou?'))
print(np.char.split('YiibaiPoint,Hyderabad,Telangana',sep=','))
print(np.char.splitlines('hello
howareyou?'))
print(np.char.splitlines('hello
howareyou?'))
print(np.char.strip('ashokarora','a'))
print(np.char.strip(['arora','admin','java'],'a'))
print(np.char.join(':','dmy'))
print(np.char.join([':','-'],['dmy','ymd']))
print(np.char.replace('Heisagoodboy','is','was'))
a=np.char.encode('hello','cp500')
print(a)
print(np.char.decode(a,'cp500'))
['helloxyz']
['helloabc''hixyz']
HelloHelloHello
*******hello********
Helloworld
HelloHowAreYou?
['hello''world']
hello
HELLO
['HELLO''WORLD']
['hello','how','are','you?']
['YiibaiPoint','Hyderabad','Telangana']
['hello','howareyou?']
['hello','howareyou?']
shokaror
['ror''dmin''jav']
dy
['dy''y-m-d']
Hewasagoodboy
b'x88x85x93x93x96'
hello

09 NumPy - 算数函数

NumPy 包含大量的各种数学运算功能。NumPy 提供标准的三角函数,算术运算的函数,复数处理函数等。

  • 三角函数
  • 舍入函数
  • 算数函数

1. NumPy -三角函数

NumPy 拥有标准的三角函数,它为弧度制单位的给定角度返回三角函 数比值。arcsin,arccos,和arctan函数返回给定角度的sin,cos和tan的反三角函数。这些函数的结果可以通过 numpy.degrees()函数通过将弧度制 转换为角度制来验证。

importnumpyasnp
a=np.array([0,30,45,60,90])
#通过乘pi/180转化为弧度
print(np.sin(a*np.pi/180))
print(np.cos(a*np.pi/180))
print(np.tan(a*np.pi/180))
[0.0.50.707106780.86602541.]
[1.00000000e+008.66025404e-017.07106781e-015.00000000e-01
6.12323400e-17]
[0.00000000e+005.77350269e-011.00000000e+001.73205081e+00
1.63312394e+16]

2. NumPy -舍入函数

  • numpy.around()这个函数返回四舍五入到所需精度的值

    • numpy.around(a,decimals) – a 输入数组
    • decimals 要舍入的小数位数。默认值为0。如果为负,整数将四舍五入到小数点左侧的位置
  • numpy.floor() 函数返回不大于输入参数的最大整数。

  • numpy.ceil() 函数返回输入值的上限,大于输入参数的最小整数

importnumpyasnp
a=np.array([1.0,5.55,123,0.567,25.532])
print(np.around(a))
print(np.around(a,decimals=1))
print(np.floor(a))
print(np.ceil(a))
[1.6.123.1.26.]
[1.5.6123.0.625.5]
[1.5.123.0.25.]
[1.6.123.1.26.]

3. NumPy - 算数运算

用于执行算术运算(如add(),subtract(),multiply()和divide())的输入数组必须具有相同的形状或符合数组广播规则。

  • numpy.reciprocal() 函数返回参数逐元素的倒数。
  • numpy.power() 函数将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂。
  • numpy.mod() 函数返回输入数组中相应元素的除法余数
importnumpyasnp
a=np.array([0.25,2,1,0.2,100])
print(np.reciprocal(a))
print(np.power(a,2))
a=np.array([10,20,30])
b=np.array([3,5,7])
print(np.mod(a,b))
[4.0.51.5.0.01]
[6.25000000e-024.00000000e+001.00000000e+00
4.00000000e-02.1.00000000e+04]
[102]

4. NumPy - 统计函数

NumPy 有很多有用的统计函数,用于从数组中给定的元素中查找最小,最大,百分标准差和方差等。

  • numpy.amin() , numpy.amax() 从给定数组中的元素沿指定轴返回最小值和最大值。

  • numpy.ptp() 函数返回沿轴的值的范围(最大值 - 最小值)。

  • numpy.percentile() 表示小于这个值得观察值占某个百分比

  • numpy.percentile(a, q, axis)

    • a 输入数组;
    • q 要计算的百分位数,在 0 ~ 100 之间;
    • axis 沿着它计算百分位数的轴
  • numpy.median() 返回数据样本的中位数。

  • numpy.mean() 沿轴返回数组中元素的算术平均值。

  • numpy.average() 返回由每个分量乘以反映其重要性的因子得到的加权平均值

importnumpyasnp
a=np.array([[3,7,5],[8,4,3],[2,4,9]])
print(np.amin(a,1))
print(np.amax(a,1))
print(np.ptp(a))
print(np.percentile(a,50))
print(np.median(a))
print(np.mean(a))
print(np.average(a))
print(np.std([1,2,3,4]))#返回数组标准差
print(np.var([1,2,3,4]))#返回数组方差
[332]
[789]
7
4.0
4.0
5.0
5.0
1.11803398875
1.25

10 排序、搜索和计数函数

NumPy中提供了各种排序相关功能。

  • numpy.sort() 函数返回输入数组的排序副本。numpy.sort(a, axis, kind, order)

    • a 要排序的数组;
    • axis 沿着它排序数组的轴,如果没有数组会被展开,沿着最后的轴排序;
    • kind 默认为'quicksort'(快速排序);
    • order 如果数组包含字段,则是要排序的字段
  • numpy.argsort() 函数对输入数组沿给定轴执行间接排序,并使用指定排序类型返回数据的索引数组。这个索引数组用于构造排序后的数组。

  • numpy.lexsort() 函数使用键序列执行间接排序。键可以看作是电子表格中的一列。该函数返回一个索引数组,使用它可以获得排序数据。注意,最后一个键恰好是 sort 的主键。

  • numpy.argmax() 和 numpy.argmin() 这两个函数分别沿给定轴返回最大和最小元素的索引。

  • numpy.nonzero() 函数返回输入数组中非零元素的索引。

  • numpy.where() 函数返回输入数组中满足给定条件的元素的索引。

  • numpy.extract() 函数返回满足任何条件的元素。

importnumpyasnp
a=np.array([[3,7,3,1],[9,7,8,7]])
print(np.sort(a))
print(np.argsort(a))
print(np.argmax(a))
print(np.argmin(a))
print(np.nonzero(a))
print(np.where(a>3))
nm=('raju','anil','ravi','amar')
dv=('f.y.','s.y.','s.y.','f.y.')
print(np.lexsort((dv,nm)))
[[1337]
[7789]]
[[3021]
[1320]]
4
3
(array([0,0,0,0,1,1,1,1],dtype=int64),
array([0,1,2,3,0,1,2,3],dtype=int64))
(array([0,1,1,1,1],dtype=int64),
array([1,0,1,2,3],dtype=int64))
[3102]

11 IO文件操作

ndarray对象可以保存到磁盘文件并从磁盘文件加载。可用的 IO 功能有:

  • numpy.save() 文件将输入数组存储在具有npy扩展名的磁盘文件中。
  • numpy.load() 从npy文件中重建数组。
  • numpy.savetxt()和numpy.loadtxt() 函数以简单文本文件格式存储和获取数组数据。
importnumpyasnp
a=np.array([1,2,3,4,5])
np.save('outfile',a)
b=np.load('outfile.npy')
print(b)
a=np.array([1,2,3,4,5])
np.savetxt('out.txt',a)
b=np.loadtxt('out.txt')
print(b)
[12345]
[1.2.3.4.5.]

审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3882

    浏览量

    61310
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83473
  • 迭代器
    +关注

    关注

    0

    文章

    43

    浏览量

    4271

原文标题:详细总结了 11 种 Numpy 的高级操作

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NE555中资料详解

    NE555中资料详解
    发表于 08-20 13:49

    NE555中资料详解

    NE555中资料详解
    发表于 08-21 09:27

    NE555中资料详解

    NE555中资料详解
    发表于 11-23 22:08

    FAT32件系统详解

    FAT32件系统详解
    发表于 08-17 12:34

    基于NumPy的pandas工具

    :pandas 是基于NumPy种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotl
    发表于 08-16 08:47

    详解ARM指令与ARM汇编

    1、2、3、ARM嵌入式开发之ARM指令与ARM汇编入门4、ARM嵌入式开发之ARM汇编高级教程与APCS规范详解视频下载地址:内容:01_ARM嵌入式开发之ARM基础概念介绍...
    发表于 12-23 06:45

    浅析在one-yolov5项目中计算mAP用到的numpy操作

    引言本文主要介绍在 one-yolov5 项目中 计算mAP用到的numpy操作,这些numpy操作使用在 utils/metrics.
    发表于 11-24 15:04

    Python中NumPy扩展包简介及案例详解

    NumPy是Python语言的一个扩展包。支持多维数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy提供了与Matlab相似的功能与操作方式,因为两者皆为直译语言。 NumPy
    发表于 11-15 12:31 1864次阅读

    Python的两个基础包numpy和Matplotlib示例详解

    Python的科学计算包 - Numpy numpy(Numerical Python extensions)是一个第三方的Python包,用于科学计算。这个库的前身是1995年就开始开发的一个用于
    发表于 11-15 18:36 5248次阅读

    基于python的numpy深度解析

    numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
    的头像 发表于 01-24 13:55 5001次阅读
    基于python的<b class='flag-5'>numpy</b>深度解析

    图文详解NumPy看这一篇就够了

    NumPy是Python的最重要的扩展程序库之一,也是入门机器学习编程的必备工具。然而对初学者来说,NumPy的大量运算方法非常难记。   最近,国外有位程序员讲NumPy的基本运算以图解的方式
    的头像 发表于 05-26 09:45 2982次阅读
    图文<b class='flag-5'>详解</b><b class='flag-5'>NumPy</b>看这一篇就够了

    Numpy详解-轴的概念

    NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。
    的头像 发表于 04-25 10:25 2565次阅读

    Numpy数组的高级操作总结

    NumPy 包含一个迭代器对象numpy.nditer。它是一个有效的多维迭代器对象,可以用于在数组上进行迭代。数组的每个元素可使用 Python 的标准Iterator接口来访问。
    的头像 发表于 05-13 12:53 1115次阅读

    详解Python中的Pandas和Numpy

    pandas、numpy是Python数据科学中非常常用的库,numpy是Python的数值计算扩展,专门用来处理矩阵,它的运算效率比列表更高效。
    的头像 发表于 05-25 12:49 1971次阅读

    YOLOv5全面解析教程:计算mAP用到的numpy函数详解

    本文主要介绍在 one-yolov5 项目中 计算mAP用到的一些numpy操作,这些numpy操作使用在 utils/metrics.py (https://github.com
    的头像 发表于 11-21 15:27 2154次阅读