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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

根據(jù)給定的索引對(duì)列表連接二維數(shù)組的行的有效方法

根據(jù)給定的索引對(duì)列表連接二維數(shù)組的行的有效方法

小唯快跑啊 2023-06-27 13:23:47
假設(shè)我有一個(gè)包含大量行的二維數(shù)組,以及該數(shù)組的索引對(duì)列表。我想創(chuàng)建一個(gè)新的 2 維數(shù)組,其行是原始數(shù)組的行的串聯(lián),根據(jù)索引對(duì)列表制作。例如:a = 1 2 34 5 67 8 90 0 0indexes = [[0,0], [0,1], [2,3]]返回的數(shù)組應(yīng)該是:1 2 3 1 2 31 2 3 4 5 67 8 9 0 0 0顯然我可以迭代索引列表,但我的問題是是否有更有效的方法來做到這一點(diǎn)。我應(yīng)該說索引列表也非常大。
查看完整描述

3 回答

?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊

首先將索引轉(zhuǎn)換為Numpy數(shù)組:

ind = np.array(indexes)

然后生成結(jié)果為:

result = np.concatenate([a[ind[:,0]], a[ind[:,1]]], axis=1)

結(jié)果是:

array([[1, 2, 3, 1, 2, 3],
       [1, 2, 3, 4, 5, 6],
       [7, 8, 9, 0, 0, 0]])

另一個(gè)可能的公式(具有相同的結(jié)果):

result = np.concatenate([ a[ind[:,i]] for i in range(ind.shape[1]) ], axis=1)


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以使用水平堆疊np.hstack

c = np.array(indexes)
np.hstack((a[c[:,0]],a[c[:,1]]))

輸出:

[[1 2 3 1 2 3]
 [1 2 3 4 5 6]
 [7 8 9 0 0 0]]


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

您可以使用NumPy以下命令在一行中完成此操作:


a = np.arange(12).reshape(4, 3)

print(a)


b = [[0, 0], [1, 1], [2, 3]]

b = np.array(b)

print(b)


c = a[b.reshape(-1)].reshape(-1, a.shape[1]*b.shape[1])

print(c)


'''

[[ 0  1  2]

 [ 3  4  5]

 [ 6  7  8]

 [ 9 10 11]]


[[0 0]

 [1 1]

 [2 3]]


[[ 0  1  2  0  1  2]

 [ 3  4  5  3  4  5]

 [ 6  7  8  9 10 11]]

'''


查看完整回答
反對(duì) 回復(fù) 2023-06-27
  • 3 回答
  • 0 關(guān)注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)