欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Numpy 數(shù)組操作之元素添加、刪除和修改的實(shí)現(xiàn)

 更新時間:2023年03月27日 15:17:54   作者:Mr李小四  
本文主要介紹了Numpy 數(shù)組操作之元素添加、刪除和修改的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

數(shù)組元素添加、刪除和修改

數(shù)組也是一個可變類型,可以對數(shù)組中的元素進(jìn)行添加、刪除和修改,本文詳細(xì)介紹了對數(shù)組元素的添加和刪除的操作,以及這兩種操作的方法均已列出。數(shù)組元素的修改操作簡單,只要對索引和切片掌握,使用索引和切片獲取到元素后賦值就可以實(shí)現(xiàn)。

添加元素

numpy.append()

方法說明
numpy.append()數(shù)組追加元素
numpy.insert()數(shù)組插入元素

在數(shù)組末尾追加元素。

numpy.append(arr, values, axis=None)

參數(shù)說明:

  • arr:接收array_like,需要添加元素的數(shù)組。
  • values:接收array_like,追加到末尾的元素,形狀必須匹配。arr和values的維度必須相等才能追加
  • axis:接收int,如果未給定軸,則arr和values在使用前都會被展平。

返回值:

  • ndarray,arr的副本。

示例:

# 創(chuàng)建數(shù)組a
>>> a = np.arange(1,7).reshape(2,3)
>>> a
array([[1, 2, 3],
? ? ? ?[4, 5, 6]])
# 創(chuàng)建數(shù)組b ? ? ??
>>> b = np.arange(7,10).reshape(1,3) # a,b維度相同才能追加
>>> b ?
array([[7, 8, 9]])?

注意:數(shù)組(arr)和追加值(values)的維度必須相同才可以追擊,否則會報錯:

ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 2 dimension(s) and the array at index 1 has 1 dimension(s)

不指定軸向時,生成副本,將數(shù)組a,b都展平后進(jìn)行追加。

# 將數(shù)組b追加到數(shù)組a后
>>> np.append(a, values=b) # 不指定axis時
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9]) 

指定軸向時,根據(jù)軸向追加,但是形狀必須匹配,指定軸向?yàn)樾凶芳訒r列數(shù)必須相等,指定軸向?yàn)榱凶芳訒r,行數(shù)必須相等。

>>> np.append(a, values=b, axis=0) # 根據(jù)行追加
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9]])

指定軸向時,指定軸向?yàn)榱袝r,行數(shù)不相同,形狀不匹配,無法追加,會報ValueError錯!

>>> np.append(a, values=b, axis=1)
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 0, the array at index 0 has size 2 and the array at index 1 has size 1

numpy.insert()

給定的軸向和指定的索引位置插入值。

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

參數(shù)說明:

  • arr:接收array_like,輸入的數(shù)組。
  • obj:接收整數(shù)或者整數(shù)序列,索引位置。
  • values:接收array_like,需要插入數(shù)組的值,需要考慮形狀。
  • axis:接收整數(shù),軸向。如果未給定軸向數(shù)組會被展平。

返回值:

  • ndarray,插入值后的副本。

示例:

>>> a = np.arange(1,7).reshape(2,3)
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> b = np.ones(shape=(2,1))
>>> b
array([[1.],
       [1.]])
       
# 向數(shù)組a的行方向,索引為2的行插入數(shù)組b,會自動補(bǔ)全
>>> np.insert(a, 2, b, axis=0)
array([[1, 2, 3],
       [4, 5, 6],
       [1, 1, 1],
       [1, 1, 1]])
       
# 向數(shù)組a的列方向,索引為2的列插入數(shù)組b
>>> np.insert(a, 2, b, axis=1)
array([[1, 2, 1, 1, 3],
       [4, 5, 1, 1, 6]])

刪除元素

方法說明
numpy.delete()刪掉某個軸的子數(shù)組,并返回刪除后的新數(shù)組

numpy.delete()

返回一個沿軸刪除了子數(shù)組的新數(shù)組。

numpy.delete(arr, obj, axis=None)

參數(shù)說明:

  • arr:接收array_like,輸入數(shù)組。
  • obj:接收索引、切片,或者整數(shù)構(gòu)成的數(shù)組。
  • axis:接收整數(shù),軸向

返回值:

  • ndarray,刪除元素后的數(shù)組,是副本。

示例:

>>> a = np.arange(1,7).reshape(2,3)
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
# 軸向?yàn)榱校瑒h除索引為2的列      
>>> np.delete(a, 2, axis=1)      
array([[1, 2],
       [4, 5]])

對數(shù)據(jù)進(jìn)行操作時形狀非常重要,如果形狀不匹配會引發(fā)報錯,需要對報錯的類型了解,才能在出問題后及時找到原因。除此以外,軸向也是非常重要的,二維數(shù)組中:axis=0表示行,axis=1表示列,這個概念非常容易混淆。

元素修改

使用索引切片獲取到該位置的元素后使用"="為該位置重新賦值即可。

語法:數(shù)組名[索引]=值 或 數(shù)組名[切片]=值

示例:

>>> a = np.arange(1,7).reshape(2,3)
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
       
# 使用索引獲取到該位置后重新賦值即可修改元素       
>>> a[0, 1] = 100
>>> a
array([[ 1, 100, 3],
       [ 4,  5,  6]])     

到此這篇關(guān)于Numpy 數(shù)組操作之元素添加、刪除和修改的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Numpy 數(shù)組操作 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論