numpy中np.append()函數(shù)用法小結(jié)
函數(shù)np.append(arr, values, axis=None)
作用:
為原始array添加一些values
參數(shù):
- arr:需要被添加values的數(shù)組
- values:添加到數(shù)組arr中的值(array_like,類數(shù)組)
- axis:可選參數(shù),如果axis沒有給出,那么arr,values都將先展平成一維數(shù)組。注:如果axis被指定了,那么arr和values需要同為一維數(shù)組或者有相同的shape,否則報(bào)錯(cuò):ValueError: arrays must have same number of dimensions
補(bǔ)充對(duì)axis的理解
- axis的最大值為數(shù)組arr的維數(shù)-1,如arr維數(shù)等于1,axis最大值為0;arr維數(shù)等于2,axis最大值為1,以此類推。
- 當(dāng)arr的維數(shù)為2(理解為單通道圖),axis=0表示沿著行增長(zhǎng)方向添加values;axis=1表示沿著列增長(zhǎng)方向添加values
- 當(dāng)arr的維數(shù)為3(理解為多通道圖),axis=0,axis=1時(shí)同上;axis=2表示沿著圖像深度增長(zhǎng)方向添加values
返回:
添加了values的新數(shù)組
e.g.
1. 不考慮axis
arr,values都將先展平成一維數(shù)組,然后沿著axis=0的方向在arr后添加values
import numpy as np a = [1, 2, 3] b = [4, 5] c = [[6, 7], [8, 9]] print(np.append(a, b)) print(np.append(a, c))
輸出結(jié)果如下:
[1 2 3 4 5]
[1 2 3 6 7 8 9]
2. 考慮axis,arr,values同為一維數(shù)組或兩者shape相同
import numpy as np a = [1, 2, 3] b = [4, 5] c = [[6, 7], [8, 9]] d = [[10, 11], [12, 13]] print('在一維數(shù)組a后添加values,結(jié)果如下:\n{}'.format(np.append(a, b, axis=0))) print('沿二維數(shù)組c的行增長(zhǎng)方向添加values結(jié)果如下:\n{}'.format(np.append(c, d, axis=0))) print('沿二維數(shù)組c的列增長(zhǎng)方向添加values結(jié)果如下:\n{}'.format(np.append(c, d, axis=1)))
結(jié)果如下:
在一維數(shù)組a后添加values,結(jié)果如下:
[1 2 3 4 5]
沿二維數(shù)組c的行增長(zhǎng)方向添加values結(jié)果如下:
[[ 6 7]
[ 8 9]
[10 11]
[12 13]]
沿二維數(shù)組c的列增長(zhǎng)方向添加values結(jié)果如下:
[[ 6 7 10 11]
[ 8 9 12 13]]
3. 考慮axis,如果arr和values不同為一維數(shù)組且shape不同,則報(bào)錯(cuò):
import numpy as np a = [1, 2, 3] c = [[6, 7], [8, 9]] print(np.append(a, c, axis=0))
輸出結(jié)果如下:
Traceback (most recent call last):
File "F:\eclipse-workspace\test\t1.py", line 4, in <module>
print(np.append(a,c,axis=0))
File "E:\anaconda\anzhuang\lib\site-packages\numpy\lib\function_base.py", line 4694, in append
return concatenate((arr, values), axis=axis)
ValueError: all the input arrays must have same number of dimensions
np.append存在的一些問題
1. np.append太慢了
在大量數(shù)據(jù)處理時(shí),使用np.append()容易導(dǎo)致內(nèi)存分配錯(cuò)誤和性能上的瓶頸問題。而且每次使用np.append()時(shí)都會(huì)生成新的數(shù)組,這很容易導(dǎo)致數(shù)組拷貝,從而增加運(yùn)行成本和內(nèi)存占用。為了解決這個(gè)問題,我們可以使用其他的數(shù)據(jù)處理方式,如預(yù)分配數(shù)組、拼接數(shù)組等。
2. np.append函數(shù)typeerror
np.append()函數(shù)只能用于numpy數(shù)組,當(dāng)向它傳遞非數(shù)組參數(shù)時(shí),它會(huì)報(bào)錯(cuò)。這是因?yàn)閚p.append()實(shí)際上是對(duì)numpy數(shù)組進(jìn)行操作的,所以只能接收numpy數(shù)組作為參數(shù)。
到此這篇關(guān)于numpy中np.append()函數(shù)用法小結(jié)的文章就介紹到這了,更多相關(guān)numpy np.append() 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- np.dot()函數(shù)的用法詳解
- python中numpy.zeros(np.zeros)的使用方法
- Numpy中np.random.rand()和np.random.randn() 用法和區(qū)別詳解
- python多項(xiàng)式擬合之np.polyfit 和 np.polyld詳解
- Numpy中np.max的用法及np.maximum區(qū)別
- 關(guān)于numpy中np.nonzero()函數(shù)用法的詳解
- Python中np.linalg.norm()用法實(shí)例總結(jié)
- python numpy之np.random的隨機(jī)數(shù)函數(shù)使用介紹
- python中使用np.delete()的實(shí)例方法
- python定間隔取點(diǎn)(np.linspace)的實(shí)現(xiàn)
- Pandas實(shí)現(xiàn)dataframe和np.array的相互轉(zhuǎn)換
相關(guān)文章
macOS M1(AppleSilicon) 安裝TensorFlow環(huán)境
蘋果為M1芯片的Mac提供了TensorFlow的支持,本文主要介紹了如何給使用M1芯片的macOS安裝TensorFlow的環(huán)境,感興趣的可以了解一下2021-08-08Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控
psutil庫(kù)可以實(shí)時(shí)獲取系統(tǒng)的一些信息,這樣就可以達(dá)到實(shí)時(shí)監(jiān)控系統(tǒng)的目的。本文對(duì)詳細(xì)講解了ython使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控,感興趣的朋友可以看一看2021-08-08python中字符串比較使用is、==和cmp()總結(jié)
在Python中比較字符串最好是使用簡(jiǎn)單邏輯操作符,今天為大家講解一下is、==和cmp()使用總結(jié)2018-03-03Python使用POP3和SMTP協(xié)議收發(fā)郵件的示例代碼
這篇文章主要介紹了Python使用POP3和SMTP協(xié)議收發(fā)郵件的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Python爬取視頻時(shí)長(zhǎng)場(chǎng)景實(shí)踐示例
這篇文章主要為大家介紹了Python獲取視頻時(shí)長(zhǎng)場(chǎng)景實(shí)踐示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07python中property屬性的介紹及其應(yīng)用詳解
這篇文章主要介紹了python中property屬性的介紹及其應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08python圖的深度優(yōu)先和廣度優(yōu)先算法實(shí)例分析
這篇文章主要介紹了python圖的深度優(yōu)先和廣度優(yōu)先算法,結(jié)合實(shí)例形式分析了圖的深度優(yōu)先算法與廣度優(yōu)先算法相關(guān)概念、原理、實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-10-10