numpy的array合併 老魚學numpy

2022-02-10 05:44:03 字數 1599 閱讀 3421

本節主要講述如何把兩個陣列按照行或列進行合併。

例如:

import numpy as np

a = np.array([1, 1, 1])

b = np.array([2, 2, 2])

print(np.vstack((a, b)))

合併後輸出結果為:

[[1 1 1]

[2 2 2]]

import numpy as np

a = np.array([1, 1, 1])

b = np.array([2, 2, 2])

print(np.hstack((a, b)))

左右合併後,輸出為:

[1 1 1 2 2 2]
import numpy as np

a = np.arange(9).reshape(3,3)

print("a=")

print(a)

b = 2 * a

print("b=")

print(b)

print("a和b垂直合併:")

print(np.concatenate((a, b), axis=0))

print("a和b水平合併:")

print(np.concatenate((a, b), axis=1))

輸出為:

a=

[[0 1 2]

[3 4 5]

[6 7 8]]

b=[[ 0 2 4]

[ 6 8 10]

[12 14 16]]

a和b垂直合併:

[[ 0 1 2]

[ 3 4 5]

[ 6 7 8]

[ 0 2 4]

[ 6 8 10]

[12 14 16]]

a和b水平合併:

[[ 0 1 2 0 2 4]

[ 3 4 5 6 8 10]

[ 6 7 8 12 14 16]]

比如,我們有乙個一維的陣列,現在我們想要對這個一維陣列增加乙個維度,變成2維陣列,該怎麼做呢?

例如:[1, 2, 3]是乙個一維陣列,我們想把它變成2維陣列:[[1, 2, 3]],其形狀為1行3列的資料。

具體做法是使用np.newaxis:

import numpy as np

a = np.array([1, 2, 3])

print(a[np.newaxis, :])

輸出為:

[[1 2 3]]
同理,如果想增加列的維度,使其變成3行1列的資料,具體操作為:

import numpy as np

a = np.array([1, 2, 3])

print(a[:, np.newaxis])

輸出為:

[[1]

[2][3]]

numpy建立array 老魚學numpy

import numpy as np 陣列 a 1,2,3 4,5,6 print a a 矩陣 b np.array a print b b 執行後輸出為 a 1,2,3 4,5,6 b 1 2 3 4 5 6 我們可以看到python中的陣列和numpy中的陣列在螢幕上輸出的一些細微的差異 nu...

numpy的索引 老魚學numpy

import numpy as np a np.arange 3,15 reshape 3,4 print a print a print 第2行的資料 a 2 print 第2行第3列的資料 a 2 3 輸出為 a 3 4 5 6 7 8 9 10 11 12 13 14 第2行的資料 11 12...

numpy array分割 老魚學numpy

有合併,就有分割。本節主要講述如何通過numpy對陣列進行橫向 縱向分割。首先建立乙個6行4列的陣列,然後我們對此陣列按照橫向進行切割,分成3塊,這樣每塊應該有2行,見例子 import numpy as np a np.arange 24 reshape 6,4 print a print a p...