中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Numpy數組操作之元素添加、刪除和修改怎么實現

發布時間:2023-03-27 16:32:50 來源:億速云 閱讀:120 作者:iii 欄目:開發技術

這篇文章主要介紹“Numpy數組操作之元素添加、刪除和修改怎么實現”,在日常操作中,相信很多人在Numpy數組操作之元素添加、刪除和修改怎么實現問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Numpy數組操作之元素添加、刪除和修改怎么實現”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

數組元素添加、刪除和修改

添加元素

numpy.append()

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

在數組末尾追加元素。

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

參數說明:

  • arr:接收array_like,需要添加元素的數組。

  • values:接收array_like,追加到末尾的元素,形狀必須匹配。arr和values的維度必須相等才能追加

  • axis:接收int,如果未給定軸,則arr和values在使用前都會被展平。

返回值:

  • ndarray,arr的副本。

示例:

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

注意:數組(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)

不指定軸向時,生成副本,將數組a,b都展平后進行追加。

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

指定軸向時,根據軸向追加,但是形狀必須匹配,指定軸向為行追加時列數必須相等,指定軸向為列追加時,行數必須相等。

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

指定軸向時,指定軸向為列時,行數不相同,形狀不匹配,無法追加,會報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)

參數說明:

  • arr:接收array_like,輸入的數組。

  • obj:接收整數或者整數序列,索引位置。

  • values:接收array_like,需要插入數組的值,需要考慮形狀。

  • axis:接收整數,軸向。如果未給定軸向數組會被展平。

返回值:

  • 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.]])
       
# 向數組a的行方向,索引為2的行插入數組b,會自動補全
>>> np.insert(a, 2, b, axis=0)
array([[1, 2, 3],
       [4, 5, 6],
       [1, 1, 1],
       [1, 1, 1]])
       
# 向數組a的列方向,索引為2的列插入數組b
>>> np.insert(a, 2, b, axis=1)
array([[1, 2, 1, 1, 3],
       [4, 5, 1, 1, 6]])

刪除元素

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

numpy.delete()

返回一個沿軸刪除了子數組的新數組。

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

參數說明:

  • arr:接收array_like,輸入數組。

  • obj:接收索引、切片,或者整數構成的數組。

  • axis:接收整數,軸向

返回值:

  • ndarray,刪除元素后的數組,是副本。

示例:

>>> a = np.arange(1,7).reshape(2,3)
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
# 軸向為列,刪除索引為2的列      
>>> np.delete(a, 2, axis=1)      
array([[1, 2],
       [4, 5]])

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

元素修改

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

語法:數組名[索引]=值 或 數組名[切片]=值

示例:

>>> 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]])

到此,關于“Numpy數組操作之元素添加、刪除和修改怎么實現”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤山市| 汽车| 宝鸡市| 黄山市| 太保市| 横山县| 水富县| 新建县| 大埔区| 上饶县| 赤水市| 济阳县| 克拉玛依市| 佛山市| 边坝县| 南郑县| 交城县| 凤城市| 闸北区| 桐城市| 浦城县| 南安市| 靖安县| 磐石市| 宁晋县| 张掖市| 泸溪县| 浙江省| 阳原县| 韶关市| 交口县| 武鸣县| 延庆县| 九龙坡区| 张家港市| 曲周县| 谷城县| 南开区| 黎川县| 宜宾县| 油尖旺区|