numpy數(shù)組疊加的實(shí)現(xiàn)示例
前言
針對(duì)于一維數(shù)組的存儲(chǔ)方式,即(n,)存儲(chǔ)為列向量
一、創(chuàng)建一個(gè)array
使用np.arange()創(chuàng)建一個(gè)一維數(shù)組,或者np.array()將多維列表轉(zhuǎn)成np格式的ndarray
示例:pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。
二、使用np.r_和np.c_進(jìn)行數(shù)組相加
1.對(duì)一維數(shù)組的疊加
代碼如下(示例):
import numpy as np
a = np.array([1,2,3])
'''a = [1
2
3]'''
b = a.repeat(3)
'''b = [1
1
1
...
3]'''
c = np.tile(a ,3)
print(b.shape) #(9,) 列向量
print(c.shape) #(9,) 列向量
d = np.r_[b,c] #按列相加 還是列向量(只是numpy方便顯示,為一行數(shù)組),還是一維
print('d:', d)
'''d: [1 1 1 2 2 2 3 3 3 1 2 3 1 2 3 1 2 3]'''
e = np.c_[b,c] #按行相加 得到(9,2)的二維數(shù)組
print('e:', e)
'''e: [[1 1]
[1 2]
[1 3]
[2 1]
[2 2]
[2 3]
[3 1]
[3 2]
[3 3]]'''2.將數(shù)組轉(zhuǎn)成二維
代碼如下(示例):
a = np.array([1,2,3]).reshape(1,3) #都初始為二維數(shù)組,就可以按照顯示的行列堆疊
b = a.repeat(3).reshape(1,-1)
c = np.tile(a ,3)
print(b.shape) #(1,9) 二維數(shù)組
print(c.shape) #(1,9) 二維數(shù)組
#二維之后就可按照顯示的行列順序進(jìn)行疊加了
d = np.r_[b,c] #按列相加,得到(2,9)的二維數(shù)組
print('d:', d)
'''d: [[1 1 1 2 2 2 3 3 3]
[1 2 3 1 2 3 1 2 3]]'''
e = np.c_[b,c] #按行相加 得到(1,18)的二維數(shù)組
print('e:', e)
'''e: [[1 1 1 2 2 2 3 3 3 1 2 3 1 2 3 1 2 3]]'''
將數(shù)組轉(zhuǎn)成二維,就可按照顯示的行列進(jìn)行相堆疊了
3. hstack以及vstack
a = np.array([1,2,3])
b = a.repeat(3)
c = np.tile(a ,3)
bc_h = np.hstack((b, c)) ? ?
print('bc_h:',bc_h)
'''bc_h: [1 1 1 2 2 2 3 3 3 1 2 3 1 2 3 1 2 3]'''
bc_v = np.vstack((b, c)) ? ?
print('bc_v:',bc_v)
'''bc_v: [[1 1 1 2 2 2 3 3 3]
? ? ? ? ? [1 2 3 1 2 3 1 2 3]]'''
d = np.arange(9).reshape(1,9)
# bcd_h = np.hstack((b, c, d)) ? #使用hstack,維度必須相同。不相同會(huì)報(bào)錯(cuò)
# print('bcd_h:',bcd_h)
bcd_v = np.vstack((b, c, d)) ? ?
print('bcd_v:',bcd_v)
'''bcd_v: [[1 1 1 2 2 2 3 3 3]
? ? ? ? ? ?[1 2 3 1 2 3 1 2 3]
? ? ? ? ? ?[0 1 2 3 4 5 6 7 8]]'''在進(jìn)行vstack疊加時(shí),默認(rèn)將一維數(shù)組元素變成了二維。
但是二維與三維疊加,二維不會(huì)變成三維。即一維可以與二維可以進(jìn)行vstack
hstack不會(huì)改變維度,所有要求相疊加的所有數(shù)組維度一樣
到此這篇關(guān)于numpy數(shù)組疊加的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)numpy數(shù)組疊加內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python正則表達(dá)式實(shí)現(xiàn)截取成對(duì)括號(hào)的方法
這篇文章主要介紹了Python正則表達(dá)式實(shí)現(xiàn)截取成對(duì)括號(hào)的方法,涉及Python正則匹配相關(guān)操作技巧,需要的朋友可以參考下2017-01-01
使用python執(zhí)行shell腳本 并動(dòng)態(tài)傳參 及subprocess的使用詳解
這篇文章主要介紹了使用python執(zhí)行shell腳本 并動(dòng)態(tài)傳參 及subprocess的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
pytorch中with?torch.no_grad():的用法實(shí)例
最近在看別人寫的代碼,遇到經(jīng)常使用with torch.no_grad(),所以下面這篇文章主要給大家介紹了關(guān)于pytorch中with?torch.no_grad():用法的相關(guān)資料,需要的朋友可以參考下2022-03-03
關(guān)于Python-faker的函數(shù)效果一覽
今天小編就為大家分享一篇關(guān)于Python-faker的函數(shù)效果一覽,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python原始字符串與Unicode字符串操作符用法實(shí)例分析
這篇文章主要介紹了Python原始字符串與Unicode字符串操作符用法,結(jié)合實(shí)例形式分析了Python針對(duì)原始字符與Unicode字符的操作符用法,需要的朋友可以參考下2017-07-07
Python-OpenCV中的cv2.inpaint()函數(shù)的使用
大多數(shù)人會(huì)在家里放一些舊的退化照片,上面有一些黑點(diǎn),一些筆畫等。你有沒有想過恢復(fù)它?本文就來介紹一下方法,感興趣的可以了解一下2021-06-06

