溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Python中使用numpy模塊實現(xiàn)矩陣連接

發(fā)布時間:2021-03-17 17:18:58 來源:億速云 閱讀:300 作者:Leah 欄目:開發(fā)技術(shù)

怎么在Python中使用numpy模塊實現(xiàn)矩陣連接?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

Numpy模塊自帶的矩陣連接函數(shù)

#!usr/bin/env python
#encoding:utf-8
from __future__ import division
 
'''
__Author__:沂水寒城
使用numpy模塊實現(xiàn)矩陣的連接操作
'''
 
import numpy as np
 
def simple_test():
  '''
  簡單的小實驗
  '''
  sim_one,sim_two=[1,5,8,0,3,6],[11,5,8,0,3]
  one_list=[[1,2,3],[1,2,1],[3,4,5],[4,5,6]]
  two_list=[[5,6,7],[6,7,8],[6,7,9],[0,4,7],[4,6,0],[2,9,1],[5,8,7],[9,7,8],[3,7,9]]
  three_list=[[0,4,3,7],[4,6,1,0],[2,5,9,1]]
  three_list=np.array(three_list)
  four_list=[[2,9,1],[5,8,7],[9,7,8],[3,7,9]]
  print '對一維列表連接結(jié)果為:'
  pring np.concatenate([sim_one,sim_two],axis=0)
  print '對兩個矩陣按行連接結(jié)果為:'
  print np.concatenate([one_list,two_list],axis=0)
  print '對兩個矩陣按列連接結(jié)果為:'
  print np.concatenate([one_list,three_list.T],axis=1)
  print np.concatenate([one_list,four_list],axis=1)
 
 
if __name__ == '__main__':
  simple_test()

結(jié)果如下:

[Decode error - output not utf-8]
[Decode error - output not utf-8]
[ 1 5 8 0 3 6 11 5 8 0 3]
對兩個矩陣按行連接結(jié)果為:
[[1 2 3]
 [1 2 1]
 [3 4 5]
 [4 5 6]
 [5 6 7]
 [6 7 8]
 [6 7 9]
 [0 4 7]
 [4 6 0]
 [2 9 1]
 [5 8 7]
 [9 7 8]
 [3 7 9]]
對兩個矩陣按列連接結(jié)果為:
[[1 2 3 0 4 2]
 [1 2 1 4 6 5]
 [3 4 5 3 1 9]
 [4 5 6 7 0 1]]
[[1 2 3 2 9 1]
 [1 2 1 5 8 7]
 [3 4 5 9 7 8]
 [4 5 6 3 7 9]]
[Finished in 0.5s]

np.concatenate()函數(shù)中,第一個參數(shù)為待合并的矩陣、列表,第二個參數(shù)為0則表示是按照行連接數(shù)據(jù),為1則表示是按照列連接數(shù)據(jù)。

從上面結(jié)果可以看到對于一維列表,axis參數(shù)可以省略,對于二維列表當(dāng)axis為0時也可以省略

當(dāng)axis為1時,需要注意被連接的數(shù)據(jù)矩陣行數(shù)列數(shù)需要相同才行,否則會報錯:

AttributeError: 'list' object has no attribute 'T'

即,當(dāng)axis為1時,本質(zhì)上就是將矩陣以行為基準(zhǔn)對應(yīng)行的數(shù)據(jù)直接連接即可

當(dāng)axis為1時,本質(zhì)上就是將矩陣以列為基準(zhǔn)將數(shù)據(jù)以此向下堆放在一起即可

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI