欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Numpy中數(shù)組的集合操作詳解

 更新時間:2022年08月11日 10:17:56   作者:古明地覺  
這篇文章主要為大家詳細(xì)介紹了Python Numpy中數(shù)組的一些集合操作方法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下

我們知道兩個 set 對象之間,可以取交集、并集、差集、對稱差集,舉個例子:

s1?=?{1,?2,?3}
s2?=?{2,?3,?4}

"""
&:?交集
|:?并集?
-:?差集
^:?對稱差集
"""

#?以下幾種方式是等價的
#?但是一般我們都會使用操作符來進行處理,因為比較方便
print(s1?&?s1)
print(s1.intersection(s2))
print(set.intersection(s1,?s2))
"""
{2,?3}
{2,?3}
{2,?3}
"""

print(s1?|?s2)
print(s1.union(s2))
print(set.union(s1,?s1))
"""
{1,?2,?3,?4}
{1,?2,?3,?4}
{1,?2,?3,?4}
"""

print(s1?-?s2,?s2?-?s1)
print(s1.difference(s2),
??????s2.difference(s1))
print(set.difference(s1,?s2),
??????set.difference(s2,?s1))
"""
{1}?{4}
{1}?{4}
{1}?{4}
"""

print(s1?^?s2)
print(s1.symmetric_difference(s2))
print(set.symmetric_difference(s1,?s2))
"""
{1,?4}
{1,?4}
{1,?4}
"""

#?另外,我們還可以同時對多個集合操作,不僅僅是兩個
print({1,?2,?3}?&?{2,?3,?4}?&?{3,?4,?5})??#?{3}

那么 Numpy 的數(shù)組之間,可不可以執(zhí)行這些操作呢?答案是可以的,Numpy 提供了一些 API,用于數(shù)組之間的集合運算。

但需要注意,數(shù)組雖然也支持 & 等操作符,但是它們代表的意義和集合無關(guān)。

import?numpy?as?np

arr1?=?np.array([1,?2,?3])
arr2?=?np.array([2,?3,?4])

#?兩個數(shù)組?&
#?表示將數(shù)組里面對應(yīng)的元素分別進行"按位與"操作
print(arr1?&?arr2)??#?[0?2?0]

所以我們需要使用 Numpy 提供的 API 進行運算。

import?numpy?as?np

arr1?=?np.array([1,?2,?2, 3])
arr2?=?np.array([2,?3,?4,?4])

#?取交集
print(
????np.intersect1d(arr1,?arr2)
)??#?[2?3]

#?取并集
print(
????np.union1d(arr1,?arr2)
)??#?[1?2?3?4]

#?取差集
print(
????np.setdiff1d(arr1,?arr2),
????np.setdiff1d(arr2,?arr1)
)??#?[1]?[4]

#?取對稱差集
print(
????np.setxor1d(arr1,?arr2)
)??#?[1?4]

接收兩個數(shù)組,返回一個數(shù)組。并且原始數(shù)組中的元素允許重復(fù),對結(jié)果沒有影響。

另外,上面的函數(shù)都只能接收兩個數(shù)組,如果我們想同時對任意多個數(shù)組操作呢?很簡單,使用 reduce 即可。

from?functools?import?reduce
import?numpy?as?np

arr1?=?np.array([1,?2,?3])
arr2?=?np.array([2,?3,?4])
arr3?=?np.array([3,?4,?5])

print(
????reduce(np.intersect1d,
???????????[arr1,?arr2,?arr3])
)??#?[3]

總的來說還是比較簡單的。

到此這篇關(guān)于Python Numpy中數(shù)組的集合操作詳解的文章就介紹到這了,更多相關(guān)Numpy數(shù)組集合操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • numba CUDA報錯的問題解決

    numba CUDA報錯的問題解決

    本文主要介紹了numba CUDA報錯的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python實現(xiàn)kNN算法識別手寫體數(shù)字的示例代碼

    python實現(xiàn)kNN算法識別手寫體數(shù)字的示例代碼

    這篇文章主要介紹了python實現(xiàn)kNN算法識別手寫體數(shù)字的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python中的屬性管理機制詳解

    python中的屬性管理機制詳解

    這篇文章主要介紹了python中的屬性管理機制,主要包括私有屬性和屬性限制-__slots__方法,文中詳細(xì)介紹了python中如何去聲明變量的相關(guān)知識,需要的朋友可以參考下
    2022-06-06
  • 簡單的Python抓taobao圖片爬蟲

    簡單的Python抓taobao圖片爬蟲

    這篇文章主要介紹了簡單的Python抓taobao圖片爬蟲,需要的朋友可以參考下
    2014-10-10
  • 用Python寫一段用戶登錄的程序代碼

    用Python寫一段用戶登錄的程序代碼

    下面小編就為大家分享一篇用Python寫一段用戶登錄的程序代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)回歸預(yù)測模型

    python實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)回歸預(yù)測模型

    這篇文章主要介紹了python實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)回歸預(yù)測模型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 對python判斷是否回文數(shù)的實例詳解

    對python判斷是否回文數(shù)的實例詳解

    今天小編就為大家分享一篇對python判斷是否回文數(shù)的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 解決ImportError: cannot import name ‘Imputer‘的問題

    解決ImportError: cannot import name ‘Imput

    您遇到的ImportError: cannot import name ‘Imputer‘錯誤提示表明您嘗試導(dǎo)入一個名為’Imputer’的模塊或類,但是該模塊或類無法找到,本文小編給大家介紹了如何解決這個問題,需要的朋友可以參考下
    2023-10-10
  • python實現(xiàn)自冪數(shù)的示例代碼

    python實現(xiàn)自冪數(shù)的示例代碼

    這篇文章主要介紹了python實現(xiàn)自冪數(shù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python基于LightGBM進行時間序列預(yù)測

    Python基于LightGBM進行時間序列預(yù)測

    LightGBM是擴展機器學(xué)習(xí)系統(tǒng)。是一款基于GBDT(梯度提升決策樹)算法的分布梯度提升框架。其設(shè)計思路主要集中在減少數(shù)據(jù)對內(nèi)存與計算性能的使用上,以及減少多機器并行計算時的通訊代價。本文將通過LightGBM進行時間序列預(yù)測,感興趣的可以了解一下
    2022-03-03

最新評論