最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

比較兩個(gè)numpy數(shù)組并實(shí)現(xiàn)刪除共有的元素

 更新時(shí)間:2024年02月22日 10:48:42   作者:ZyLL_123  
這篇文章主要介紹了比較兩個(gè)numpy數(shù)組并實(shí)現(xiàn)刪除共有的元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

比較兩個(gè)numpy數(shù)組并刪除共有的元素

項(xiàng)目場(chǎng)景

提示:這里簡(jiǎn)述項(xiàng)目相關(guān)背景:

兩個(gè)numpy數(shù)組要?jiǎng)h掉共有的元素

問(wèn)題描述

例如:

a=[1,2,3,4,5,6]
b=[1,2,3]

最終我想獲得x=[4,5,6]

解決方案

x=a[~np.in1d((a,b))] 這個(gè)語(yǔ)句即可

注意:

in1d中的是1,不是L

numpy數(shù)組元素增刪改查

介紹 NumPy 數(shù)組元素的增刪改查操作,主要有以下方法:

數(shù)組元素操作方法

函數(shù)名稱描述說(shuō)明
resize返回指定形狀的新數(shù)組。
append將元素值添加到數(shù)組的末尾。
insert沿規(guī)定的軸將元素值插入到指定的元素前。
delete刪掉某個(gè)軸上的子數(shù)組,并返回刪除后的新數(shù)組。
argwhere返回?cái)?shù)組內(nèi)符合條件的元素的索引值。
unique用于刪除數(shù)組中重復(fù)的元素,并按元素值由大到小返回一個(gè)新數(shù)組。

1. numpy.resize()

numpy.resize() 返回指定形狀的新數(shù)組。

numpy.resize(arr, shape)

使用示例:

import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print(a)
#a數(shù)組的形狀
print(a.shape)
b = np.resize(a,(3,2))
#b數(shù)組
print (b)
#b數(shù)組的形狀
print(b.shape)
#修改b數(shù)組使其形狀大于原始數(shù)組
b = np.resize(a,(3,3))
print(b)

輸出結(jié)果為:

a數(shù)組:
[[1 2 3]
[4 5 6]]

a形狀:
(2, 3)

b數(shù)組:
[[1 2]
[3 4]
[5 6]]

b數(shù)組的形狀:
(3, 2)

修改后b數(shù)組:
[[1 2 3]
[4 5 6]
[1 2 3]]

這里需要區(qū)別 resize() 和 reshape() 的使用方法,它們看起來(lái)相似,實(shí)則不同。

resize 僅對(duì)原數(shù)組進(jìn)行修改,沒(méi)有返回值,而 reshape 不僅對(duì)原數(shù)組進(jìn)行修改,同時(shí)返回修改后的結(jié)果。

看一組示例,如下所示:

In [1]: import numpy as np
In [2]: x=np.arange(12)
#調(diào)用resize方法
In [3]: x_resize=x.resize(2,3,2)
In [4]: x
Out[4]:
array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5]],
       [[ 6,  7],
        [ 8,  9],
        [10, 11]]])
In [5]: x_resize
#返回None使用print打印
In [6]: print(x_resize)
None
#調(diào)用reshape方法
In [7]: x_shape=x.reshape(2,3,2)
#返回修改后的數(shù)組
In [8]: x_shape
Out[8]:
array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5]],
       [[ 6,  7],
        [ 8,  9],
        [10, 11]]])
In [9]: x
Out[9]:
array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5]],
       [[ 6,  7],
        [ 8,  9],
        [10, 11]]])

2. numpy.append()

在數(shù)組的末尾添加值,它返回一個(gè)一維數(shù)組。

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

參數(shù)說(shuō)明:

  • arr:輸入的數(shù)組;
  • values:向 arr 數(shù)組中添加的值,需要和 arr 數(shù)組的形狀保持一致;
  • axis:默認(rèn)為 None,返回的是一維數(shù)組;當(dāng) axis =0 時(shí),追加的值會(huì)被添加到行,而列數(shù)保持不變,若 axis=1 則與其恰好相反。

使用示例:

import numpy as np
a = np.array([[1,2,3],[4,5,6]])
#向數(shù)組a添加元素
print (np.append(a, [7,8,9]))
#沿軸 0 添加元素
print (np.append(a, [[7,8,9]],axis = 0))
#沿軸 1 添加元素
print (np.append(a, [[5,5,5],[7,8,9]],axis = 1))

輸出結(jié)果為:

向數(shù)組a添加元素:
[1 2 3 4 5 6 7 8 9]

沿軸 0 添加元素:
[[1 2 3]
[4 5 6]
[7 8 9]]

沿軸 1 添加元素:
[[1 2 3 5 5 5]
[4 5 6 7 8 9]]

3. numpy.insert()

表示沿指定的軸,在給定索引值的前一個(gè)位置插入相應(yīng)的值,如果沒(méi)有提供軸,則輸入數(shù)組被展開(kāi)為一維數(shù)組。

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

參數(shù)說(shuō)明:

  • arr:要輸入的數(shù)組
  • obj:表示索引值,在該索引值之前插入 values 值;
  • values:要插入的值;
  • axis:指定的軸,如果未提供,則輸入數(shù)組會(huì)被展開(kāi)為一維數(shù)組。

示例如下:

import numpy as np
a = np.array([[1,2],[3,4],[5,6]])
#不提供axis的情況,會(huì)將數(shù)組展開(kāi)
print (np.insert(a,3,[11,12]))
#沿軸 0 垂直方向
print (np.insert(a,1,[11],axis = 0))
#沿軸 1 水平方向
print (np.insert(a,1,11,axis = 1))

輸出結(jié)果如下:

提供 axis 參數(shù):
[ 1  2  3 11 12  4  5  6]

沿軸 0:
[[ 1  2]
[11 11]
[ 3  4]
[ 5  6]]

沿軸 1:
[[ 1 11  2]
[ 3 11  4]
[ 5 11  6]]

4. numpy.delete()

該方法表示從輸入數(shù)組中刪除指定的子數(shù)組,并返回一個(gè)新數(shù)組。

它與 insert() 函數(shù)相似,若不提供 axis 參數(shù),則輸入數(shù)組被展開(kāi)為一維數(shù)組。

numpy.delete(arr, obj, axis)

參數(shù)說(shuō)明:

  • arr:要輸入的數(shù)組;
  • obj:整數(shù)或者整數(shù)數(shù)組,表示要被刪除數(shù)組元素或者子數(shù)組;
  • axis:沿著哪條軸刪除子數(shù)組。

使用示例:

import numpy as np
a = np.arange(12).reshape(3,4)
#a數(shù)組
print(a)
#不提供axis參數(shù)情況
print(np.delete(a,5))
#刪除第二列
print(np.delete(a,1,axis = 1))
#刪除經(jīng)切片后的數(shù)組
a = np.array([1,2,3,4,5,6,7,8,9,10])
print (np.delete(a, np.s_[::2]))

輸出結(jié)果為:

a數(shù)組:
[[ 0  1  2  3]
[ 4  5  6  7]
[ 8  9 10 11]]

無(wú) axis 參數(shù):
[ 0  1  2  3  4  6  7  8  9 10 11]

刪除第二列:
[[ 0  2  3]
[ 4  6  7]
[ 8 10 11]]

刪除經(jīng)過(guò)切片的數(shù)組:
[ 2  4  6  8 10]

5. numpy.argwhere()

該函數(shù)返回?cái)?shù)組中非 0 元素的索引,若是多維數(shù)組則返回行、列索引組成的索引坐標(biāo)。

示例如下所示:

import numpy as np
x = np.arange(6).reshape(2,3)
print(x)
#返回所有大于1的元素索引
y=np.argwhere(x>1)
print(y)

輸出結(jié)果:

#x數(shù)組
[[0 1 2]
[3 4 5]]
#返回行列索引坐標(biāo)
[[0 2]
[1 0]
[1 1]
[1 2]]

6. numpy.unique()

用于刪除數(shù)組中重復(fù)的元素,其語(yǔ)法格式如下:

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

參數(shù)說(shuō)明:

  • arr:輸入數(shù)組,若是多維數(shù)組則以一維數(shù)組形式展開(kāi);
  • return_index:如果為 True,則返回新數(shù)組元素在原數(shù)組中的位置(索引);
  • return_inverse:如果為 True,則返回原數(shù)組元素在新數(shù)組中的位置(索引);
  • return_counts:如果為 True,則返回去重后的數(shù)組元素在原數(shù)組中出現(xiàn)的次數(shù)。

示例如下:

import numpy as np
a = np.array([5,2,6,2,7,5,6,8,2,9])
print (a)
#對(duì)a數(shù)組的去重
uq = np.unique(a)
print (uq)
#數(shù)組去重后的索引數(shù)組
u,indices = np.unique(a, return_index = True)
#打印去重后數(shù)組的索引
print(indices)
#去重?cái)?shù)組的下標(biāo):
ui,indices = np.unique(a,return_inverse = True)
print (ui)
#打印下標(biāo)
print (indices)
#返回去重元素的重復(fù)數(shù)量
uc,indices = np.unique(a,return_counts = True)
print (uc)
元素出現(xiàn)次數(shù):
print (indices)

輸出結(jié)果為:

a數(shù)組:
[5 2 6 2 7 5 6 8 2 9]

去重后的a數(shù)組
[2 5 6 7 8 9]

去重?cái)?shù)組的索引數(shù)組:
[1 0 2 4 7 9]

去重?cái)?shù)組的下標(biāo):
[2 5 6 7 8 9]

原數(shù)組在新數(shù)組中的下標(biāo):
[1 0 2 0 3 1 2 4 0 5]

返回去重元素的重復(fù)數(shù)量:
[2 5 6 7 8 9]

統(tǒng)計(jì)重復(fù)元素出現(xiàn)次數(shù):
[3 2 2 1 1 1]

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python文件打包方式(使用pyinstaller)

    python文件打包方式(使用pyinstaller)

    這段描述主要介紹了PyInstaller的使用方法,包括如何通過(guò)pip安裝PyInstaller,如何使用簡(jiǎn)單命令和復(fù)雜命令進(jìn)行打包,以及如何通過(guò)編寫打包腳本進(jìn)行操作,同時(shí)提到了在打包過(guò)程中可能出現(xiàn)的PIL模塊錯(cuò)誤,并提供了相應(yīng)的解決方法
    2026-06-06
  • Pytest自定義用例執(zhí)行順序(推薦)

    Pytest自定義用例執(zhí)行順序(推薦)

    github 上有個(gè) pytest-ordering 插件可以控制用例的執(zhí)行順序,本文給大家介紹了Pytest自定義用例執(zhí)行順序,需要的朋友可以參考下
    2021-12-12
  • Python和OpenCV自制訪客識(shí)別程序

    Python和OpenCV自制訪客識(shí)別程序

    這篇文章主要為大家詳細(xì)介紹了如何使用Python和OpenCV自制訪客識(shí)別程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • VSCode中Python環(huán)境配置、創(chuàng)建虛擬環(huán)境及pip的一些常用命令

    VSCode中Python環(huán)境配置、創(chuàng)建虛擬環(huán)境及pip的一些常用命令

    這篇文章主要給大家介紹了關(guān)于VSCode中Python環(huán)境配置、創(chuàng)建虛擬環(huán)境及pip的一些常用命令,Python環(huán)境的創(chuàng)建是在VSCode中很常見(jiàn)的一個(gè)需求,特別是當(dāng)我們需要開(kāi)發(fā)或者調(diào)試多個(gè)Python項(xiàng)目時(shí),使用虛擬環(huán)境是一種好的方式,需要的朋友可以參考下
    2023-10-10
  • Python實(shí)現(xiàn)ATM系統(tǒng)

    Python實(shí)現(xiàn)ATM系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)ATM系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 使用TensorFlow-Slim進(jìn)行圖像分類的實(shí)現(xiàn)

    使用TensorFlow-Slim進(jìn)行圖像分類的實(shí)現(xiàn)

    這篇文章主要介紹了使用TensorFlow-Slim進(jìn)行圖像分類的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python中的Numpy入門教程

    Python中的Numpy入門教程

    這篇文章主要介紹了Python中的Numpy入門教程,著重講解了矩陣中的數(shù)組操作,需要的朋友可以參考下
    2014-04-04
  • Python hashlib模塊用法實(shí)例分析

    Python hashlib模塊用法實(shí)例分析

    這篇文章主要介紹了Python hashlib模塊用法,結(jié)合實(shí)例形式分析了Python使用hash模塊進(jìn)行md5、sha1、sha224、sha256、sha512等加密運(yùn)算相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • 使用pycallgraph分析python代碼函數(shù)調(diào)用流程以及框架解析

    使用pycallgraph分析python代碼函數(shù)調(diào)用流程以及框架解析

    這篇文章主要介紹了使用pycallgraph分析python代碼函數(shù)調(diào)用流程以及框架解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • pyqt5讓圖片自適應(yīng)QLabel大小上以及移除已顯示的圖片方法

    pyqt5讓圖片自適應(yīng)QLabel大小上以及移除已顯示的圖片方法

    今天小編就為大家分享一篇pyqt5讓圖片自適應(yīng)QLabel大小上以及移除已顯示的圖片方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06

最新評(píng)論

石门县| 武隆县| 都匀市| 南陵县| 成都市| 林芝县| 安新县| 左云县| 精河县| 山丹县| 阳西县| 惠安县| 杭锦旗| 延长县| 延川县| 平泉县| 宜宾县| 新蔡县| 鸡东县| 宝鸡市| 铜川市| 仙居县| 沽源县| 溆浦县| 南宫市| 郁南县| 武邑县| 慈利县| 龙胜| 保亭| 郴州市| 彰化市| 通州区| 赫章县| 吉林市| 涪陵区| 昆山市| 康马县| 镇坪县| 司法| 鹤壁市|