一維列表與矩陣之間的行或列方向上的合併

2021-09-26 10:27:51 字數 1228 閱讀 6144

import numpy as np

import random

l1 = random.sample(range(1, 10), 5) # 隨機生成20個1-100中不重複的數字

print(l1)

# 一維向量變矩陣時不能直接用transpose或者.t的形式

l1 = np.mat(l1).t # 將生成的向量l1進行轉置,並使其成為矩陣

print(l1)

結果為:

[3, 6, 7, 8, 5]

[[3]

[6][7]

[8][5]]

將高維矩陣進行轉置

l2 = np.array([[1, 2, 3, 4, 5],

[6, 7, 8, 9, 10],

[11, 12, 13, 14, 15]])

print(l2)

l2 = np.transpose(l2)

print(l2)

結果為:

[[ 1  2  3  4  5]

[ 6 7 8 9 10]

[11 12 13 14 15]]

[[ 1 6 11]

[ 2 7 12]

[ 3 8 13]

[ 4 9 14]

[ 5 10 15]]

然後將兩矩陣在行上進行合併

l3 = np.hstack((l1, l2))     # 在行上進行合併,列上合併用 np.vstack

print(l3)

結果為:

[[ 8  1  6 11]

[ 1 2 7 12]

[ 7 3 8 13]

[ 6 4 9 14]

[ 4 5 10 15]]

知識點補充:

1、矩陣的合併

np.hstack((a,b))    # hstack()在行上合併  

np.vstack((a,b)) # vstack()在列上合併

2、超過一維時,下面兩種方法在轉置的時候等價

l2 = np.transpose(l2)

l2 = l2.t

給numpy矩陣新增一行或一列

import numpy as npa np.array 1,2,3 4,5,6 7,8,9 b np.array 0,0,0 c np.r a,b d np.c a,b.t print cprint d 1 2 3 4 5 6 7 8 9 0 0 0 1 2 3 0 4 5 6 0 7 8 9 0...

二維矩陣與二維矩陣之間的卷積

最近在學習數字影象處理 digital image processing,dip 這門課,感覺有些吃力。由於在數字訊號處理 digital singal processing,dsp 這門課中只學了一維矩陣之間的卷積運算。假設我們的卷積核h為kernel矩陣 33 待處理矩陣f x,y 為 55 h...

去除重複行或列的一些sql語句

蒐集起來留著以後用吧 查詢結果有兩條完全相同的行,用distinct select distinct from table 表名 where 條件 存在部分字段相同的紀錄 但是有有主鍵id,即唯一鍵 如果是這種情況的話用distinct是過濾不了的,這就要用到主鍵id的唯一性特點及group by分...