第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將二維 numpy 數(shù)組的按行組合連接成二維數(shù)組

將二維 numpy 數(shù)組的按行組合連接成二維數(shù)組

Cats萌萌 2023-06-27 17:38:12
考慮兩個二維數(shù)組,A并且B。import numpy as npA = np.array([[1, 4],              [3, 5],              [1, 2]])B = np.array([[2, 3],              [1, 3]])我想構建一個數(shù)組arrOut,給出4 列數(shù)組中的行A和行的所有組合。B期望的輸出是:arrOut = [[1, 4, 2, 3],          [1, 4, 1, 3],          [3, 5, 2, 3],          [3, 5, 1, 3],          [1, 2, 2, 3],          [1, 2, 1, 3]] 我希望看到一種解決方案,可以輕松擴展到三個二維數(shù)組的行的所有組合以形成六列數(shù)組,或者四個二維數(shù)組的行的所有組合以形成八列數(shù)組。
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻1911條經(jīng)驗 獲得超7個贊

使用 numpy 廣播并可擴展到任意數(shù)量的數(shù)組:


r1,c1 = A.shape

r2,c2 = B.shape

arrOut = np.zeros((r1,r2,c1+c2), dtype=A.dtype)

arrOut[:,:,:c1] = A[:,None,:]

arrOut[:,:,c1:] = B

arrOut.reshape(-1,c1+c2)

輸出:


[[1 4 2 3]

 [1 4 1 3]

 [3 5 2 3]

 [3 5 1 3]

 [1 2 2 3]

 [1 2 1 3]]

對于 3 數(shù)組的情況(這里我使用了 (A,B,A)):


r1,c1 = A.shape

r2,c2 = B.shape

r3,c3 = A.shape 

arrOut = np.zeros((r1,r2,r3,c1+c2+c3), dtype=A.dtype)

arrOut[:,:,:,:c1] = A[:,None,None,:]

arrOut[:,:,:,c1:c1+c2] = B[:,None,:]

arrOut[:,:,:,c1+c2:] = A

arrOut.reshape(-1,c1+c2+c3)

輸出:


[[1 4 2 3 1 4]

 [1 4 2 3 3 5]

 [1 4 2 3 1 2]

 [1 4 1 3 1 4]

 [1 4 1 3 3 5]

 [1 4 1 3 1 2]

 [3 5 2 3 1 4]

 [3 5 2 3 3 5]

 [3 5 2 3 1 2]

 [3 5 1 3 1 4]

 [3 5 1 3 3 5]

 [3 5 1 3 1 2]

 [1 2 2 3 1 4]

 [1 2 2 3 3 5]

 [1 2 2 3 1 2]

 [1 2 1 3 1 4]

 [1 2 1 3 3 5]

 [1 2 1 3 1 2]]

您甚至可以為 N 數(shù)組情況創(chuàng)建一個 for 循環(huán)。


查看完整回答
反對 回復 2023-06-27
  • 1 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號