日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python ndarray append_9-Python-NumPy数组元素的添加与删除

發布時間:2024/9/27 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python ndarray append_9-Python-NumPy数组元素的添加与删除 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數組元素的添加與刪除 相關函數列表如下:

函數

元素及描述

resize

返回指定形狀的新數組

append

將值添加到數組末尾

insert

沿指定軸將值插入到指定下標之前

delete

刪掉某個軸的子數組,并返回刪除后的新數組

unique

查找數組內的唯一元素

1)

返回指定大小的新數組

numpy.resize(arr, shape)

arr:要修改大小的數組

shape:返回數組的新形狀

新數組小于原始數組

>>> import numpy as np

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

>>> a

array([[1, 2, 3],

[4, 5, 6]])

>>> b = np.resize(a,(2,2))

>>> b

array([[1, 2],

[3, 4]])

新數組大于原始數組

>>> import numpy as np

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

>>> a

array([[1, 2, 3],

[4, 5, 6]])

>>> c = np.resize(a,(3,3))

>>> c

array([[1, 2, 3],

[4, 5, 6],

[1, 2, 3]])

>>> d = np.resize(a,(3,4))

>>> d

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

[5, 6, 1, 2],

[3, 4, 5, 6]])

總結:

如果新數組大小小于原始大小,會默認按行對原始數組進行取值,直到取夠為止

如果新數組大小大于原始大小,會默認按行重復使用原始數組中的元素,會包含原始數組中的元素的副本。

2)

在數組的末尾添加值。 追加操作會分配整個數組,并把原來的數組復制到新數組中。 此外,輸入數組的維度必須匹配否則將生成ValueError。

numpy.append(arr, values, axis=None)

arr:輸入數組

values:要向arr添加的值,需要和arr形狀相同(除了要添加的軸)

axis:默認為 None

當axis=None時,是橫向加成,對添加的元素的個數和類型無要求,返回總是為一維數組

當axis=0時,增加的是原始數組的行數,因此添加的列表必須是二維[[]]。若要添加一行,子列表元素個數是1[[]],添加二行,子列表元素個數是2[[],[]]。子列表元素個數要與原始數組的列數相同。

當axis=1時,增加的是原始數組的列數,因此添加的列表元素個數要與原始數組的行數相同,增加的列數取決于子列表的元素個數

不定義axis,返回的都是一維數組

>>> import numpy as np

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

>>> a

array([[1, 2, 3],

[4, 5, 6]])

>>> np.append(a, [7,8])

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

>>> np.append(a, [7,8,9])

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

''' 嘗試添加多維數組'''

>>> np.append(a, [[7,8],[9,]])

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

定義axis=0

>>> import numpy as np

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

>>> a

array([[1, 2, 3],

[4, 5, 6]])

'''沿軸 0 添加元素,即增加原始數組的行數'''

>>> np.append(a, [[7,8,9]],axis = 0)

array([[1, 2, 3],

[4, 5, 6],

[7, 8, 9]])

>>> np.append(a, [[7,8,9],[10,11,12]],axis = 0)

array([[ 1, 2, 3],

[ 4, 5, 6],

[ 7, 8, 9],

[10, 11, 12]])

定義axis=1

>>> import numpy as np

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

>>> a

array([[1, 2, 3],

[4, 5, 6]])

'''沿軸 1 添加元素,即增加原始數組的列數'''

>>> np.append(a, [[7],[8]],axis = 1)

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

[4, 5, 6, 8]])

>>> np.append(a, [[7,9],[8,10]],axis = 1)

array([[ 1, 2, 3, 7, 9],

[ 4, 5, 6, 8, 10]])

3)

用法和 numpy.append類似,但沒有append嚴格

numpy.insert(arr, obj, values, axis)

arr:輸入數組

obj:在其之前插入值的索引

values:要插入的值

axis:沿著它插入的軸,如果未提供,則輸入數組會被展開

不傳遞axis參數時,是橫向加成,添加對象是單個元素或者是一維數組(列表),可以是一個元素,也可以是一個列表(包含1個以上元素),返回總是為一維數組

當axis=0時,添加對象可以是1個元素或者數組,當為數組時,添加的數組維度可以是(1,1)或者和原始數組相等,但不能大或者不等

當axis=1時,添加對象可以是1個元素或者數組,當為數組時,添加數組的維度可以是(1,1),或者必須原始數組列數相同,但不能大或者不等

numpy.insert添加的對象可以是一個元素或者數組

未傳遞 axis 參數,生成的是一維數組

>>> import numpy as np

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

>>> a

array([[1, 2],

[3, 4],

[5, 6]])

>>> np.insert(a,3,11)

array([ 1, 2, 3, 11, 4, 5, 6])

>>> np.insert(a,3,[11,12])

array([ 1, 2, 3, 11, 12, 4, 5, 6])

>>> np.insert(a,3,[11,12,13])

array([ 1, 2, 3, 11, 12, 13, 4, 5, 6])

定義axis=0

>>> np.insert(a,1,11,axis = 0)

array([[ 1, 2],

[11, 11],

[ 3, 4],

[ 5, 6]])

>>> np.insert(a,1,[11],axis = 0)

array([[ 1, 2],

[11, 11],

[ 3, 4],

[ 5, 6]])

>>> np.insert(a,1,[11,12],axis = 0)

array([[ 1, 2],

[11, 12],

[ 3, 4],

[ 5, 6]])

>>> np.insert(a,1,[[11,12],[13,14]],axis = 0)

array([[ 1, 2],

[11, 12],

[13, 14],

[ 3, 4],

[ 5, 6]])

>>> np.insert(a,1,[11,12,13],axis = 0)

Traceback (most recent call last):

ValueError: could not broadcast input array from shape (1,3) into shape (1,2)

定義axis=1

>>> np.insert(a,1,11,axis = 1)

array([[ 1, 11, 2],

[ 3, 11, 4],

[ 5, 11, 6]])

>>> np.insert(a,1,[11],axis = 1)

array([[ 1, 11, 2],

[ 3, 11, 4],

[ 5, 11, 6]])

>>> np.insert(a,1,[11,12],axis = 1)

Traceback (most recent call last):

ValueError: could not broadcast input array from shape (2,1) into shape (3,1)

>>> np.insert(a,1,[11,12,13],axis = 1)

array([[ 1, 11, 2],

[ 3, 12, 4],

[ 5, 13, 6]])

>>> np.insert(a,1,[[11],[12],[13]],axis = 1)

array([[ 1, 11, 12, 13, 2],

[ 3, 11, 12, 13, 4],

[ 5, 11, 12, 13, 6]])

>>> np.insert(a,1,[[11,12,13],[14,15,16],[17,18,19]],axis = 1)

array([[ 1, 11, 14, 17, 2],

[ 3, 12, 15, 18, 4],

[ 5, 13, 16, 19, 6]])

4)

返回從輸入數組中刪除指定子數組的新數組。 與 insert() 函數的情況一樣,如果未提供軸參數,則輸入數組將展開。

Numpy.delete(arr, obj, axis)

arr:輸入數組

obj:可以被切片,整數或者整數數組,表明要從輸入數組刪除的子數組

axis:沿著它刪除給定子數組的軸,如果未提供,則輸入數組會被展開

未傳遞 Axis 參數,生成一個一維數組

>>> import numpy as np

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

>>> a

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

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

>>> np.delete(a,5)

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

定義axis=0,對行進行操作

>>> import numpy as np

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

>>> np.delete(a,5)

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

>>> a

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

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

''' 刪除第2行 '''

>>> np.delete(a,1,axis = 0)

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

[ 8, 9, 10, 11]])

'''刪除第2行和第3行'''

>>> np.delete(a,[1,2],axis = 0)

array([[0, 1, 2, 3]])

定義axis=1,對列進行操作

>>> import numpy as np

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

>>> np.delete(a,5)

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

>>> a

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

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

''' 刪除第2列 '''

>>> np.delete(a,1,axis = 1)

array([[ 0, 2, 3],

[ 4, 6, 7],

[ 8, 10, 11]])

''' 刪除第2列和第3列 '''

>>> np.delete(a,[1,2],axis = 1)

array([[ 0, 3],

[ 4, 7],

[ 8, 11]])

切片操作 必須使用 numpy.s_

>>> import numpy as np

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

>>> a

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

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

>>> np.delete(a, np.s_[1:3])

array([ 0, 3, 4, 5, 6, 7, 8, 9, 10, 11])

''' 刪除第2行和第3行 '''

>>> np.delete(a, np.s_[1:3],axis=0)

array([[0, 1, 2, 3]])

''' 刪除第2列和第3列 '''

>>> np.delete(a, np.s_[1:3],axis=1)

array([[ 0, 3],

[ 4, 7],

[ 8, 11]])

''' 步長為2 進行刪除,刪除 index 為 0, 2, 4 ....的元素 '''

>>> np.delete(a, np.s_[::2])

array([ 1, 3, 5, 7, 9, 11])

>>> np.delete(a, np.s_[::2],axis=0)

array([[4, 5, 6, 7]])

>>> np.delete(a, np.s_[::2],axis=1)

array([[ 1, 3],

[ 5, 7],

[ 9, 11]])

5)

用于去除數組中的重復元素

numpy.unique(arr, return_index, return_inverse, return_counts)

arr:輸入數組,如果不是一維數組則會展開

return_index:如果為true,返回新列表元素在舊列表中的位置(下標),并以列表形式儲

return_inverse:如果為true,返回舊列表元素在新列表中的位置(下標),并以列表形式儲

return_counts:如果為true,返回去重數組中的元素在原數組中的出現次數

>>> import numpy as np

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

>>> a

array([5, 2, 6, 2, 7, 5, 6, 8, 2, 9])

>>> np.unique(a)

array([2, 5, 6, 7, 8, 9])

return_index = True

>>> import numpy as np

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

>>> a

array([5, 2, 6, 2, 7, 5, 6, 8, 2, 9])

>>> np.unique(a, return_index = True)

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

return_inverse = True

>>> import numpy as np

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

>>> a

array([5, 2, 6, 2, 7, 5, 6, 8, 2, 9])

>>> np.unique(a,return_inverse = True)

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

return_counts = True

>>> import numpy as np

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

>>> a

array([5, 2, 6, 2, 7, 5, 6, 8, 2, 9])

>>> np.unique(a,return_counts = True)

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

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python ndarray append_9-Python-NumPy数组元素的添加与删除的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产aⅴ一区二区三区东京热 | 美脚の诱脚舐め脚 | 国产欧美二区 | 日女人网站 | 美女脱光衣服让男人捅 | 日本色中色 | 国产精品视频一区二区在线观看 | 日本成人在线免费观看 | 亚洲av成人片无码 | 天天操天天干天天干 | 黄色国产精品 | 久久影院精品 | 麻豆国产在线播放 | 97青草 | 成人欧美精品 | 国产又猛又黄又爽 | 中文国产在线观看 | 99精品国产成人一区二区 | 久久麻豆av | 欧美久久影院 | 久久不射电影网 | 一级性爱视频 | 亚洲欧洲精品一区 | 日韩精品久久久久久久酒店 | 亚洲第一免费 | 成年在线观看视频 | 国产日本在线观看 | 亚洲熟妇无码一区二区三区导航 | 国产高潮在线 | 亚洲精品视频在线播放 | 快播av在线 | 伊人久久精品一区二区三区 | 亚洲中文无码久久 | 内谢少妇xxxxx8老少交视频 | 亚洲综合天堂 | 深夜激情视频 | 97精品一区二区 | 九色视频偷拍少妇的秘密 | 国内精品999 | 欧美亚洲精品在线 | 天天曰天天爽 | 99精品综合 | 欧美一级色 | 天天摸天天碰天天爽天天弄 | 毛片h| 欧美成人激情在线 | 一级毛毛片 | 欧美国产大片 | 午夜成人免费影院 | 国产精品视频自拍 | 久久精品99久久久久久久久 | 少妇爽| 性欧美久久久 | 亚洲女人18毛片水真多 | 四色在线| 日韩尤物 | av最新资源| 少妇高潮一区二区三区69 | 欧美一区二区久久久 | 日韩www在线观看 | 色在线免费观看 | 欧美久久一区二区三区 | 啪啪网免费 | 久久网中文字幕 | 这里精品| 欧美精品福利视频 | 青青青手机在线视频 | 激情视频在线播放 | 97超碰免费 | 久久99伊人 | 日韩成人一区二区视频 | 日韩中文字幕亚洲 | 日韩美女福利视频 | 2018国产大陆天天弄 | xxx性日本| 天天干女人 | 国产在线视频一区二区三区 | 涩色网| 美国色视频 | 亚洲视频三区 | 嫩草影院永久入口 | 成人av免费在线 | 久久久久一区二区精码av少妇 | 色8久久 | av秋霞 | 91看视频| 国产亚洲av综合人人澡精品 | 一本在线| 国产精品免费一区二区三区在线观看 | 狗爬女子的视频 | 麻豆av电影网| 老司机精品福利视频 | 国产在线观看免费高清 | 中文字幕日韩在线播放 | 免费看操片 | 国产黄色一级片视频 | 男同av在线观看一区二区三区 | 国产又色又爽无遮挡免费 | 日韩精品人妻中文字幕有码 |