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

python中numpy 數(shù)組過濾詳解

 更新時間:2023年06月30日 08:14:01   作者:wang_yb  
這篇文章主要介紹了python中numpy 數(shù)組過濾詳解的相關(guān)資料,需要的朋友可以參考下

numpy中,數(shù)組可以看作是一系列數(shù)值的有序集合,可以通過下標訪問其中的元素。
處理數(shù)組的過程中,經(jīng)常需要用到數(shù)組過濾功能。

過濾功能可以在處理數(shù)據(jù)時非常有用,因為它可以使數(shù)據(jù)更加干凈和可讀性更強。
例如,在進行數(shù)據(jù)分析時,通常需要去除異常值,過濾掉不必要的元素可以使數(shù)據(jù)更加易于分析和處理。

numpy本身提供了很多針對特定要求的過濾函數(shù),
不過本篇只介紹最基本的過濾方式,通過最基本的過濾方式來揭示其過濾的原理。

1. 比較

比較是過濾的前提,因為通過比較才能確定過濾的條件。

1.1. 數(shù)組和單個數(shù)字

import numpy as np

arr = np.random.randint(0, 10, (3, 3))
print(arr)
#運行結(jié)果
[[4 1 4]
 [7 6 1]
 [8 9 5]]

print(arr > 5)
#運行結(jié)果
[[False False False]
 [ True  True False]
 [ True  True False]]

數(shù)組和單個數(shù)字比較,也滿足上一篇介紹的廣播原則,也就是數(shù)組arr的每個元素都和數(shù)字5進行了比較。

比較的結(jié)果是和arr相同結(jié)構(gòu)的數(shù)組,數(shù)組中的元素是bool值。
滿足比較條件是True不滿足比較條件的是False。

1.2. 數(shù)組和數(shù)組

除了和單個數(shù)字比較之外,數(shù)組之間也是可以比較的。

arr1 = np.random.randint(0, 10, (3, 3))
print(arr1)
#運行結(jié)果
[[9 7 3]
 [2 8 5]
 [2 2 3]]

arr2 = np.random.randint(0, 10, (3, 3))
print(arr2)
#運行結(jié)果
[[1 6 0]
 [0 1 8]
 [9 0 5]]

print(arr1 > arr2)
#運行結(jié)果
[[ True  True  True]
 [ True  True False]
 [False  True False]]

數(shù)組之間的比較就是相同位置的元素之間比較,如果兩個數(shù)組的結(jié)構(gòu)不一樣,會按照上一篇介紹的廣播計算方式來擴充數(shù)組。
比如:

arr1 = np.random.randint(0, 10, (3, 3))
print(arr1)
#運行結(jié)果
[[9 6 0]
 [1 4 9]
 [1 1 4]]

arr2 = np.random.randint(0, 10, (3, 1))
print(arr2)
#運行結(jié)果
[[1]
 [0]
 [9]]

print(arr1 > arr2)
#運行結(jié)果
[[ True  True False]
 [ True  True  True]
 [False False False]]

上面的數(shù)組arr2,按廣播規(guī)則被擴充成:

[[1 1 1]
[0 0 0]
[9 9 9]]

2. 掩碼

所謂掩碼,其實就是上面的各個示例中的比較結(jié)果。
也就是只包含bool值的數(shù)組,比如:

[[ True True False]
[ True True True]
[False False False]]

我們就是根據(jù)這個掩碼,來過濾出數(shù)組中的True 或者 False 位置的元素。

3. 過濾

過濾就是根據(jù)掩碼,選擇出符合條件的元素。

3.1. 單條件過濾

arr = np.random.randint(0, 10, (3, 3))
print(arr)
#運行結(jié)果
[[8 4 0]
 [2 2 9]
 [9 5 9]]

print(arr[arr > 5])
#運行結(jié)果
[8 9 9 9]

最后得到的是arr中值大于5的元素數(shù)組。
其中 arr > 5 的結(jié)果就是上一節(jié)提到的掩碼,最后過濾出的元素就是根據(jù)這個掩碼得到的。

除了跟單獨的數(shù)字比較,也可以和數(shù)組比較:

arr1 = np.random.randint(0, 10, (3, 3))
print(arr1)
#運行結(jié)果
[[3 4 7]
 [4 6 2]
 [7 2 1]]

arr2 = np.random.randint(0, 10, (3, 3))
print(arr2)
#運行結(jié)果
[[2 3 1]
 [7 7 7]
 [1 6 4]]

print(arr1[arr1 > arr2])
#運行結(jié)果
[3 4 7 7]

3.2. 多條件過濾

多條件過濾使用 & 和 | 來連接不同的條件。

arr1 = np.random.randint(0, 10, (3, 3))
print(arr1)
#運行結(jié)果
[[1 0 5]
 [7 4 9]
 [8 5 4]]

arr2 = np.random.randint(0, 10, (3, 3))
print(arr2)
#運行結(jié)果
[[6 4 1]
 [0 1 1]
 [8 5 8]]

print(arr1[(arr1 > 5) & (arr1 > arr2)])
#運行結(jié)果
[7 9]

過濾arr1大于5** 并且 **對應(yīng)位置比arr2大的元素。

arr1 = np.random.randint(0, 10, (3, 3))
print(arr1)
#運行結(jié)果
[[1 0 5]
 [7 4 9]
 [8 5 4]]

arr2 = np.random.randint(0, 10, (3, 3))
print(arr2)
#運行結(jié)果
[[6 4 1]
 [0 1 1]
 [8 5 8]]

print(arr1[(arr1 > 5) | (arr1 > arr2)])
#運行結(jié)果
[5 7 4 9 8]

過濾arr1大于5** 或者 **對應(yīng)位置比arr2大的元素。

4. 總結(jié)回顧

本篇主要介紹了過濾的基本原理,首先從比較開始,比較的結(jié)果是掩碼,最后通過掩碼過濾數(shù)組。

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

相關(guān)文章

  • Pandas+openpyxl進行Excel處理詳解

    Pandas+openpyxl進行Excel處理詳解

    這篇文章主要為大家詳細介紹了如何使用pandas和openpyxl庫對多個Excel文件進行多種處理的方法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2025-02-02
  • 五分鐘學(xué)會怎么用Pygame做一個簡單的貪吃蛇

    五分鐘學(xué)會怎么用Pygame做一個簡單的貪吃蛇

    這篇文章主要介紹了五分鐘學(xué)會怎么用Pygame做一個簡單的貪吃蛇,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • 詳解matplotlib中pyplot和面向?qū)ο髢煞N繪圖模式之間的關(guān)系

    詳解matplotlib中pyplot和面向?qū)ο髢煞N繪圖模式之間的關(guān)系

    這篇文章主要介紹了詳解matplotlib中pyplot和面向?qū)ο髢煞N繪圖模式之間的關(guān)系,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python遍歷指定文件及文件夾的方法

    Python遍歷指定文件及文件夾的方法

    這篇文章主要介紹了Python遍歷指定文件及文件夾的方法,對比兩種實現(xiàn)技巧分析了Python遍歷文件及文件夾的方法,需要的朋友可以參考下
    2015-05-05
  • pycharm終端解釋器與Python解釋器配置

    pycharm終端解釋器與Python解釋器配置

    這篇文章主要介紹了pycharm終端解釋器與Python解釋器配置,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • Python使用FontTools進行字體處理的終極指南

    Python使用FontTools進行字體處理的終極指南

    你是否曾想過用代碼來操控字體文件?FontTools就是這樣一個神奇的工具箱,作為Python生態(tài)中最強大的字體處理庫,它讓你能夠輕松解析、編輯和生成各種字體格式,下面小編就為大家詳細說說Python使用FontTools進行字體處理的終極指南,需要的朋友可以參考下
    2025-11-11
  • Python遠程開發(fā)環(huán)境部署與調(diào)試過程圖解

    Python遠程開發(fā)環(huán)境部署與調(diào)試過程圖解

    這篇文章主要介紹了Python遠程開發(fā)環(huán)境部署與調(diào)試過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Python腳本實現(xiàn)批量發(fā)布Markdown文章

    Python腳本實現(xiàn)批量發(fā)布Markdown文章

    這篇文章主要為大家詳細介紹了如何使用Python腳本實現(xiàn)自動化批量發(fā)布Markdown文章,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-03-03
  • 使用pandas把某一列的字符值轉(zhuǎn)換為數(shù)字的實例

    使用pandas把某一列的字符值轉(zhuǎn)換為數(shù)字的實例

    今天小編就為大家分享一篇使用pandas把某一列的字符值轉(zhuǎn)換為數(shù)字的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python實現(xiàn)全角半角字符互轉(zhuǎn)的方法

    Python實現(xiàn)全角半角字符互轉(zhuǎn)的方法

    大家都知道在自然語言處理過程中,全角、半角的的不一致會導(dǎo)致信息抽取不一致,因此需要統(tǒng)一。這篇文章通過示例代碼給大家詳細的介紹了Python實現(xiàn)全角半角字符互轉(zhuǎn)的方法,有需要的朋友們可以參考借鑒,下面跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11

最新評論

建宁县| 渝中区| 遂川县| 米泉市| 同德县| 蒙自县| 延吉市| 会东县| 固原市| 庆城县| 永仁县| 开封县| 临潭县| 鹤庆县| 砀山县| 福州市| 哈尔滨市| 邯郸县| 宁乡县| 莫力| 闸北区| 宾阳县| 化隆| 宿州市| 西安市| 拜泉县| 济南市| 大竹县| 兴仁县| 太湖县| 昌乐县| 淮北市| 新建县| 宝应县| 齐齐哈尔市| 安泽县| 分宜县| 衡山县| 武冈市| 凤凰县| 丰顺县|