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

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

如何修改存儲為列表的 numpy 數(shù)組的行

如何修改存儲為列表的 numpy 數(shù)組的行

互換的青春 2024-01-04 15:20:23
我想修改存儲在列表中的 numpy 數(shù)組的行。我的 numpy 數(shù)組的長度不一樣。我有幾個巨大的 numpy 數(shù)組存儲為列表。這是我的數(shù)據(jù)(為了簡單起見,我只復(fù)制了一小部分?jǐn)?shù)組):elements= [array([[971, 466, 697, 1, 15, 18, 28],                 [5445, 4, 301, 2, 12, 47, 5]]),           array([[5883, 316, 377, 2, 9, 87, 1]])]然后,我想用最后一列替換每行的第四列,然后刪除最后一列。我想要得到以下結(jié)果:[array([[971, 466, 697, 1, 28, 18],        [5445, 4, 301, 2, 5, 47]]), array([[5883, 316, 377, 2, 1, 87]])]我嘗試了以下代碼,但沒有成功:length=[len(i) for i in elements] # To find the length of each arrayh=sum(length) # to find the total number of rowsfor i in range (h):    elements[:,[4,-1]] = elements[:,[-1,4]]    elements=np.delete(elements,[-1],1)我面臨以下錯誤:TypeError: list indices must be integers or slices, not tuple我很感謝您提前提供幫助。
查看完整描述

3 回答

?
一只萌萌小番薯

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

您可以在沒有循環(huán)的情況下完成此操作,但它仍然比可接受的解決方案慢(大數(shù)據(jù)時為 1.75 倍):


counts = list(map(len, elements))

arr = np.concatenate(elements)

arr[:, 4] = arr[:, -1]

new_elements = np.split(arr[:,:-1], np.cumsum(counts)[:-1])

連接速度相當(dāng)慢numpy。


查看完整回答
反對 回復(fù) 2024-01-04
?
明月笑刀無情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個贊

一個簡單低效的解決方案:


import numpy as np


elements= [np.array([[971, 466, 697, 1, 15, 18, 28],

                     [5445, 4, 301, 2, 12, 47, 5]]),

           np.array([[5883, 316, 377, 2, 9, 87, 1]])]


new_elements = list()

for arr in elements:

    arr[:, 4] = arr[:, -1]

    new_elements.append(arr[:, :-1])

新的列表輸出為:


new_elements

Out[11]: 

[array([[ 971,  466,  697,    1,   28,   18],

        [5445,    4,  301,    2,    5,   47]]),

 array([[5883,  316,  377,    2,    1,   87]])]


查看完整回答
反對 回復(fù) 2024-01-04
?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個贊

試試這個


p=[]

for x in range(len(elements)):

    for y in range(len(elements[x])):

         p.append(list(elements[x][y][:4])+[elements[x][y][-1]]+[elements[x][y][-2]])

print(p)


[[971, 466, 697, 1, 28, 18],

[5445, 4, 301, 2, 5, 47],

[5883, 316, 377, 2, 1, 87]]


查看完整回答
反對 回復(fù) 2024-01-04
  • 3 回答
  • 0 關(guān)注
  • 214 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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