一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - numpy數(shù)組合并和矩陣拼接的實(shí)現(xiàn)

numpy數(shù)組合并和矩陣拼接的實(shí)現(xiàn)

2021-09-26 00:05小白不白嘿嘿嘿 Python

這篇文章主要介紹了numpy數(shù)組合并和矩陣拼接的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Numpy中提供了concatenate,append, stack類(包括hsatck、vstack、dstack、row_stack、column_stack),r_和c_等類和函數(shù)用于數(shù)組拼接的操作。

各種函數(shù)的特點(diǎn)和區(qū)別如下標(biāo):

 

concatenate 提供了axis參數(shù),用于指定拼接方向
append 默認(rèn)先ravel再拼接成一維數(shù)組,也可指定axis
stack 提供了axis參數(shù),用于生成新的維度
hstack 水平拼接,沿著行的方向,對(duì)列進(jìn)行拼接
vstack 垂直拼接,沿著列的方向,對(duì)行進(jìn)行拼接
dstack 沿著第三個(gè)軸(深度方向)進(jìn)行拼接
column_stack 水平拼接,沿著行的方向,對(duì)列進(jìn)行拼接
row_stack 垂直拼接,沿著列的方向,對(duì)行進(jìn)行拼接
r_ 垂直拼接,沿著列的方向,對(duì)行進(jìn)行拼接
c_ 水平拼接,沿著行的方向,對(duì)列進(jìn)行拼接

 

直接合并

將兩個(gè)一維數(shù)組合并成一個(gè)二維數(shù)組:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import torch
import numpy as np
import matplotlib.pyplot as plt
a = np.arange(0,15,0.1)
b = 1.088 * a + 0.638 + np.random.rand() * 10
 
print(a.shape,b.shape)
points = np.array([a,b])
print(points.shape)
 
 
(150,) (150,)
(2, 150)

append拼接

?
1
append(arr, values, axis=None)

 

arr 待合并的數(shù)組的復(fù)制(特別主頁(yè)是復(fù)制,所以要多耗費(fèi)很多內(nèi)存)
values 用來(lái)合并到上述數(shù)組復(fù)制的值。如果指定了下面的參數(shù)axis的話,則這些值必須和arr的shape一致(shape[axis]之外都相等),否則的話,則沒(méi)有要求。
axis 要合并的軸.

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> import numpy as np
>>> ar1 = np.array([[1,2,3], [4,5,6]])
>>> ar2 = np.array([[7,8,9], [11,12,13]])
 
>>> np.append(ar1, ar2) # 先ravel扁平化再拼接,所以返回值為一個(gè)1維數(shù)組
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13])
 
>>> np.append(ar1, ar2, axis=0# 沿第一個(gè)軸拼接,這里為行的方向
array([[ 1, 2, 3],
  [ 4, 5, 6],
  [ 7, 8, 9],
  [11, 12, 13]])
 
>>> np.append(ar1, ar2, axis=1# 沿第二個(gè)軸拼接,這里為列的方向
array([[ 1, 2, 3, 7, 8, 9],
  [ 4, 5, 6, 11, 12, 13]])

concatenate拼接

?
1
concatenate(a_tuple, axis=0, out=None)
a_tuple: 對(duì)需要合并的數(shù)組用元組的形式給出
axis 待合并的軸,默認(rèn)為0

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
>>> import numpy as np
>>> ar1 = np.array([[1,2,3], [4,5,6]])
>>> ar2 = np.array([[7,8,9], [11,12,13]])
>>> ar1
array([[1, 2, 3],
  [4, 5, 6]])
>>> ar2
array([[ 7, 8, 9],
  [11, 12, 13]])
 
>>> np.concatenate((ar1, ar2)) # 這里的第一軸(axis 0)是行方向
array([[ 1, 2, 3],
  [ 4, 5, 6],
  [ 7, 8, 9],
  [11, 12, 13]])
 
>>> np.concatenate((ar1, ar2),axis=1) # 這里沿第二個(gè)軸,即列方向進(jìn)行拼接
array([[ 1, 2, 3, 7, 8, 9],
  [ 4, 5, 6, 11, 12, 13]])
 
>>> ar3 = np.array([[14,15,16]]) # shape為(1,3)的2維數(shù)組
>>> np.concatenate((ar1, ar3)) # 一般進(jìn)行concatenate操作的array的shape需要一致,當(dāng)然如果array在拼接axis方向的size不一樣,也可以完成
>>> np.concatenate((ar1, ar3)) # ar3雖然在axis0方向的長(zhǎng)度不一致,但axis1方向上一致,所以沿axis0可以拼接
array([[ 1, 2, 3],
  [ 4, 5, 6],
  [14, 15, 16]])
>>> np.concatenate((ar1, ar3), axis=1) # ar3和ar1在axis0方向的長(zhǎng)度不一致,所以報(bào)錯(cuò)

hstack

?
1
2
3
>>> np.hstack((ar1,ar2)) # 水平拼接,沿著行的方向,對(duì)列進(jìn)行拼接
array([[ 1, 2, 3, 7, 8, 9],
  [ 4, 5, 6, 11, 12, 13]])

vstack

?
1
2
3
4
5
>>> np.vstack((ar1,ar2)) # 垂直拼接,沿著列的方向,對(duì)行進(jìn)行拼接
array([[ 1, 2, 3],
  [ 4, 5, 6],
  [ 7, 8, 9],
  [11, 12, 13]])

vstack

?
1
2
3
4
5
6
7
>>> np.dstack((ar1,ar2)) # 對(duì)于2維數(shù)組來(lái)說(shuō),沿著第三軸(深度方向)進(jìn)行拼接, 效果相當(dāng)于stack(axis=-1)
array([[[ 1, 7],
  [ 2, 8],
  [ 3, 9]],
  [[ 4, 11],
  [ 5, 12],
  [ 6, 13]]])

column_stack和row_stack

?
1
2
3
4
5
6
7
8
9
>>> np.column_stack((ar1,ar2)) # 水平拼接,沿著行的方向,對(duì)列進(jìn)行拼接
array([[ 1, 2, 3, 7, 8, 9],
  [ 4, 5, 6, 11, 12, 13]])
 
>>> np.row_stack((ar1,ar2)) # 垂直拼接,沿著列的方向,對(duì)行進(jìn)行拼接
array([[ 1, 2, 3],
  [ 4, 5, 6],
  [ 7, 8, 9],
  [11, 12, 13]])

np.r_ 和np.c_

常用于快速生成ndarray數(shù)據(jù)

?
1
2
3
4
5
6
7
8
9
>>> np.r_[ar1,ar2]  # 垂直拼接,沿著列的方向,對(duì)行進(jìn)行拼接
array([[ 1, 2, 3],
  [ 4, 5, 6],
  [ 7, 8, 9],
  [11, 12, 13]])
 
>>> np.c_[ar1,ar2] # 水平拼接,沿著行的方向,對(duì)列進(jìn)行拼接
array([[ 1, 2, 3, 7, 8, 9],
  [ 4, 5, 6, 11, 12, 13]])

到此這篇關(guān)于numpy數(shù)組合并和矩陣拼接的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)numpy數(shù)組合并和矩陣拼接內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/weixin_45755332/article/details/112570897

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产香蕉视频欧美 | 韩国免费视频 | 精品国产麻豆免费人成网站 | 性xx色3d动画xx无尽 | www在线免费观看 | 禁忌4中文| 加勒比福利| 精品久久久久久久久免费影院 | 丝瓜黄瓜茄子西红柿秋葵榴莲 | 亚洲午夜久久久 | 丝袜兔女郎被啪在线观看91 | 99亚洲自拍 | 色v在线| 91交换论坛| 国产精品麻豆久久99 | 久久中文字幕综合不卡一二区 | 免费观看一级欧美在线视频 | japanesen女同| 精品一区二区国语对白 | 免费超级乱淫视频播放性 | 精品综合在线 | 国产区1 | 午夜大片在线观看 | 精品久久免费视频 | 国产成人手机在线 | 精品久久久久久久高清 | 国产成人综合久久 | 国产好痛疼轻点好爽的视频 | 2021最新国产成人精品视频 | 水多多www视频在线观看高清 | 亚洲精品一区二区三区中文字幕 | 日韩一级生活片 | 免费高清在线视频色yeye | 色综色 | 青青色在线观看 | 国产美女亚洲精品久久久久久 | 欧美一区二区三区成人看不卡 | 成人快插| 成人影院在线观看视频 | 忘忧草在线社区WWW日本-韩国 | 国产良心大作白丝精厕 |