新聞中心
在 Numpy中對(duì)數(shù)組元素進(jìn)行添加和刪除操作,可以使用 append() 函數(shù)和 insert() 函數(shù)為數(shù)組添加元素,或者使用 delete() 函數(shù)返回刪除了某個(gè)軸的子數(shù)組的新數(shù)組。以及使用 unique() 函數(shù)尋找數(shù)組內(nèi)的唯一元素。下面分別介紹這些函數(shù)的運(yùn)用。

目前創(chuàng)新互聯(lián)建站已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、岱山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
append()函數(shù)
該函數(shù)是在數(shù)組的末尾添加元素,該函數(shù)會(huì)返回一個(gè)新數(shù)組,而原數(shù)組不變。使用 append()函 數(shù)的方法如下:
numpy.append(arr,values,axis)
對(duì)各個(gè)參數(shù)的說(shuō)明:
-
參數(shù) arr 表示輸入的數(shù)組;
-
values 表示向 arr 數(shù)組添加的元素,values 為數(shù)組,values 數(shù)組列維度與 arr 數(shù)組列維度相同;
-
axis 表示沿著水平或豎直方向完成添加操作的軸,axis 取 0 表示沿豎直方向操作,axis 取 1 表示沿水平方向操作。
如果未提供 axis 值,在添加操作之前輸入數(shù)組會(huì)被展開,values 可以是單元素,也可以是任意數(shù)組,將 values 添加到 arr 數(shù)組后,該函數(shù)會(huì)返回一個(gè)新數(shù)組,而原數(shù)組不變。
append() 函數(shù)的示例代碼 example1 如下。
# -*- coding: UTF-8 -*- import numpy as np #創(chuàng)建數(shù)組arr arr = np.array([[1,2,3,4],[5,6,7,8]]) print('第1個(gè)數(shù)組arr:',arr) print('向arr數(shù)組添加元素:') print(np.append(arr,[[9,10],[11,12]])) print('原數(shù)組:',arr) print('沿軸 0 添加元素:') print(np.append(arr,[[9,10,11,12],[11,11,11,11]], axis=0)) print('沿軸 1 添加元素:') print(np.append(arr,[[9,10],[11,12]], axis=1))
insert()函數(shù)
該函數(shù)在給定索引之前,沿給定軸在輸入數(shù)組中插入值。該函數(shù)會(huì)返回一個(gè)新數(shù)組,原數(shù)組不變。使用 insert() 函數(shù)的方法如下:
numpy.insert(arr,obj,values,axis)
對(duì)各個(gè)參數(shù)的說(shuō)明:
-
參數(shù) arr 表示輸入的數(shù)組;
-
obj 表示在其之前插入值的索引;
-
values 表示向arr數(shù)組插入的值,values值可為單元素或values數(shù)組,并且 values 數(shù)組行維度與arr數(shù)組列維度相同;
-
axis 表示沿著水平或豎直方向完成插入操作的軸,axis 取 0 表示沿豎直方向操作,即在 arr 數(shù)組行索引位于 obj 的位置處插入 values 值,axis 取 1 表示沿水平方向操作,即在 arr 數(shù)組列索引位于 obj 的位置處插入 values 值。
如果未提供 axis 值,在插入之前輸入數(shù)組會(huì)被展開,values 可以是單個(gè)元素,也可以是一維數(shù)組,將 values 插入到 obj 的位置處,該函數(shù)會(huì)返回一個(gè)新數(shù)組,原數(shù)組不變。
另外,insert() 函數(shù)如果傳遞了 axis 參數(shù),則插入 values 值時(shí),會(huì)以廣播值數(shù)組來(lái)配輸入數(shù)組,即 np.insert(arr,2,[9],axis=0),其中 values 為 [9],arr 是 2 行 4 列數(shù)組,由于 axis=0,則插入值的數(shù)組列維度與arr數(shù)組列維度相同,因此,插入值數(shù)組為 1 行 4 列的數(shù)組,也就是廣播值數(shù)組 [9,9,9,9]。
insert() 函數(shù)的示例代碼 example2 如下。
# -*- coding: UTF-8 -*- import numpy as np #創(chuàng)建數(shù)組arr arr = np.array([[1,2,3,4], [5,6,7,8]]) print('第1個(gè)數(shù)組arr:',arr) print('未傳遞axis參數(shù)。在插入之前輸入數(shù)組會(huì)被展開。') print(np.insert(arr,4,[9, 10,11,12])) print('傳遞了axis參數(shù),會(huì)以廣播值數(shù)組來(lái)配輸入數(shù)組。') print('沿軸 0 廣播:') print(np.insert(arr, 2, [9], axis=0)) #插入值是[9,9,9,9] print('沿軸 0 插入:') print(np.insert(arr, 2, [9,10,11,12], axis=0)) print('沿軸 1 廣播:') print(np.insert(arr, 2, [[9],[10]], axis=1)) print('沿軸 1 插入:') print(np.insert(arr, 2, [[9,10],[11,12]], axis=1))
delete()函數(shù)
該函數(shù)返回從輸入數(shù)組中刪除指定子數(shù)組的新數(shù)組,原數(shù)組不變。與 insert() 函數(shù)的情況一樣,如果未提供軸參數(shù),則輸入數(shù)組將展開。使用 delete() 函數(shù)的方法如下:
numpy.delete(arr,obj,axis)
對(duì)各個(gè)參數(shù)的說(shuō)明:
-
參數(shù) arr 表示輸入的數(shù)組;
-
obj 是用整數(shù)或者整數(shù)數(shù)組表示的從輸入數(shù)組中刪除的子數(shù)組,obj 可以用切片 numpy.s_[start:end:step] 表示要?jiǎng)h除的子數(shù)組范圍;
-
axis 表示沿著它刪除給定子數(shù)組的軸,如果未提供 axis 值,則輸入數(shù)組會(huì)被展開。
delete() 函數(shù)的示例代碼 example3 如下。
# -*- coding: UTF-8 -*- import numpy as np #創(chuàng)建數(shù)組arr arr = np.arange(16).reshape(4,4) print('第1個(gè)數(shù)組arr:',arr) print ('未傳遞 axis 參數(shù),在刪除之前輸入數(shù)組會(huì)被展開。') print (np.delete(arr,[6,9,12])) #刪除arr數(shù)組中索引為6,9,12的元素 print(arr) print('刪除第3列:') print(np.delete(arr, 2, axis=1)) print('刪除第2行:') print(np.delete(arr, 1, axis=0)) print('從數(shù)組中刪除用切片表示元素范圍值:') print(np.delete(arr, np.s_[::2]))
以上就是三種函數(shù)在numpy數(shù)組中的運(yùn)用,更多python學(xué)習(xí)推薦:Python學(xué)習(xí)網(wǎng)教學(xué)中心。
(推薦操作系統(tǒng):windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。)
文章名稱:創(chuàng)新互聯(lián)Python教程:Python中numpy數(shù)組如何添加和刪除元素
文章網(wǎng)址:http://fisionsoft.com.cn/article/dhsdige.html


咨詢
建站咨詢
