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

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

如何刪除子數(shù)組的末尾元素?

如何刪除子數(shù)組的末尾元素?

陪伴而非守候 2023-02-07 09:29:14
所以我創(chuàng)建了一個(gè) numpy 數(shù)組:import numpy as np a = np.array([[1,2,3],[4,5,6],[7,8,9]])我正在嘗試刪除此數(shù)組子數(shù)組的末尾元素:a[0] = (a[0])[:-1]并遇到這個(gè)問(wèn)題:a[0] = (a[0])[:-1] ValueError: 無(wú)法將輸入數(shù)組從形狀 (2) 廣播到形狀 (3)為什么我不能改變它?我該怎么做?
查看完整描述

3 回答

?
慕婉清6462132

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

鑒于:


>>> a

array([[1, 2, 3],

       [4, 5, 6],

       [7, 8, 9]])

你可以做:


>>> a[:,0:2]

array([[1, 2],

       [4, 5],

       [7, 8]])

或者:


>>> np.delete(a,2,1)

array([[1, 2],

       [4, 5],

       [7, 8]])

然后在任何一種情況下,將其分配回,a因?yàn)榻Y(jié)果是一個(gè)新數(shù)組。


所以:


>>> a=a[:,0:2]

>>> a

array([[1, 2],

       [4, 5],

       [7, 8]])

如果您只想刪除3第一行,那就是另一個(gè)問(wèn)題了。如果你有一個(gè) python 列表數(shù)組,你只能這樣做,因?yàn)樽恿斜淼拈L(zhǎng)度不同。


例子:


>>> a = np.array([[1,2],[4,5,6],[7,8,9]])

>>> a

array([list([1, 2]), list([4, 5, 6]), list([7, 8, 9])], dtype=object)

如果你這樣做,就堅(jiān)持使用 Python。您將失去 Numpy 的所有速度和其他優(yōu)勢(shì)。


如果“通用”是指 N x M 數(shù)組每一行的最后一個(gè)元素,只需使用它.shape來(lái)查找維度:


>>> a

array([[ 1,  2,  3,  4],

       [ 5,  6,  7,  8],

       [ 9, 10, 11, 12]])

>>> a.shape

(3, 4)

>>> np.delete(a,a.shape[1]-1,1)

array([[ 1,  2,  3],

       [ 5,  6,  7],

       [ 9, 10, 11]])

或者,


>>> a[:,0:a.shape[1]-1]

array([[ 1,  2,  3],

       [ 5,  6,  7],

       [ 9, 10, 11]])


查看完整回答
反對(duì) 回復(fù) 2023-02-07
?
天涯盡頭無(wú)女友

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

>>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])

>>> a

array([[1, 2, 3],

       [4, 5, 6],

       [7, 8, 9]])

>>> type(a)

<class 'numpy.ndarray'>

>>> a.shape

(3, 3)

變量a是矩陣(二維數(shù)組)。它有一定數(shù)量的行和列。在矩陣中,所有行的長(zhǎng)度必須相同。因此,在上面的示例中,如果第一行的長(zhǎng)度為 2,其他行的長(zhǎng)度為 3,則無(wú)法形成矩陣。因此,僅刪除第一個(gè)(或任何其他子集)子數(shù)組的最后一個(gè)元素是不可能的。


相反,您必須同時(shí)刪除所有子數(shù)組的最后一個(gè)元素。


可以這樣做


>>> a[:,0:2]

array([[1, 2],

       [4, 5],

       [7, 8]])

或者,


>>> np.delete(a,2,1)

array([[1, 2],

       [4, 5],

       [7, 8]])

這也適用于其他位置的元素??梢詣h除子數(shù)組的任何元素,記住所有子數(shù)組應(yīng)該具有相同的長(zhǎng)度。


但是,除非形狀保持不變,否則您可以操作任何子數(shù)組的最后一個(gè)元素(或任何其他元素)。


>>> a[0][-1] = 19

>>> a

array([[ 1,  2, 19],

       [ 4,  5,  6],

       [ 7,  8,  9]])

如果您嘗試形成一個(gè)具有不等長(zhǎng)行的矩陣,則會(huì)形成一個(gè)一維列表數(shù)組,在該列表上沒(méi)有任何 Numpy 操作(如矢量處理、切片等)起作用(列表操作起作用)


>>> b = np.array([[1,2,3],[1,2,3]])

>>> c = np.array([[1,2],[1,2,3]])


>>> b

array([[1, 2, 3],

       [1, 2, 3]])

>>> b.shape

(2, 3)


>>> c

array([list([1, 2]), list([1, 2, 3])], dtype=object)

>>> c.shape

(2,)


>>> print(type(b),type(c))

<class 'numpy.ndarray'> <class 'numpy.ndarray'>

兩者都是 ndarray,但您可以看到第二個(gè)變量c是一維列表數(shù)組。


>>> b+b

array([[2, 4, 6],

       [2, 4, 6]])

>>> c+c

array([list([1, 2, 1, 2]), list([1, 2, 3, 1, 2, 3])], dtype=object)

類似地, operation 執(zhí)行withb+b的逐元素加法,但執(zhí)行兩個(gè)列表之間的連接操作。bbc+c


查看完整回答
反對(duì) 回復(fù) 2023-02-07
?
蕪湖不蕪

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

方法如下:


import numpy as np


a = np.array([[1,2,3],[4,5,6],[7,8,9]])

a = a[:-1]


print(a)

輸出:


[[1 2 3]

 [4 5 6]]


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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