色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Numpy基礎之數組過濾功能介紹

冬至子 ? 來源:數據之書 ? 作者:databook ? 2023-08-09 16:28 ? 次閱讀

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

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

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

比較

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

數組和單個數字

import numpy as np

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

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

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

比較的結果是和arr相同結構的數組,數組中的元素是bool值。 滿足比較條件是True,不滿足比較條件的是False

數組和數組

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

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

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

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

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

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

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

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

上面的數組arr2,按廣播規則被擴充成:

[[1 1 1]

[0 0 0]

[9 9 9]]

掩碼

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

[[ True True False]

[ True True True]

[False False False]]

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

過濾

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

單條件過濾

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

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

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

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

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

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

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

多條件過濾

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

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

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

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

過濾arr1大于5** 并且 **對應位置比arr2大的元素。

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

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

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

過濾arr1大于5 或者對應位置比arr2大的元素。

總結回顧

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19265

    瀏覽量

    229685
  • 比較器
    +關注

    關注

    14

    文章

    1650

    瀏覽量

    107193
  • 過濾器
    +關注

    關注

    1

    文章

    428

    瀏覽量

    19597
收藏 人收藏

    評論

    相關推薦

    什么是NumPy?選擇NUMPY的原因及其工作原理是什么

    NumPy 是一個免費的 Python 編程語言開源庫,它功能強大、已經過充分優化,并增加了對大型多維數組(也稱為矩陣或張量)的支持。
    的頭像 發表于 07-15 09:37 ?4037次閱讀

    numpy數組的基本用法

    numpy提供了一種數據類型,提供了數據分析的運算基礎,安裝方式
    發表于 09-04 16:24 ?1290次閱讀
    <b class='flag-5'>numpy</b><b class='flag-5'>數組</b>的基本用法

    labview如何顯示5以上的數組

    用隨機數生成0-10之間的數組,怎樣把低于5以下的數組過濾掉?顯示大于或者等于5的數組。
    發表于 03-05 21:02

    過濾組、過濾器編號介紹

    一、過濾組、過濾器編號介紹 在STM32互聯型產品中,CAN1和CAN2分享28個過濾器組,其它STM32F103xx系列產品中有14個過濾
    發表于 08-20 06:13

    STM32 CAN過濾組、過濾器編號介紹

    一、過濾組、過濾器編號介紹 在STM32互聯型產品中,CAN1和CAN2分享28個過濾器組,其它STM32F103xx系列產品中有14個過濾
    發表于 08-23 06:51

    Labview自動索引功能(二維數組--一維數組

    Labview自動索引功能(二維數組--一維數組),很好的Labview資料,快來下載學習吧。
    發表于 04-19 10:56 ?0次下載

    TCP-IP詳解卷2_BPF:BSD 分組過濾程序

    TCP-IP詳解卷2 BPF:BSD 分組過濾程序,學習TCP很好的資料。歡迎下載。
    發表于 05-09 14:13 ?0次下載

    Python中NumPy擴展包簡介及案例詳解

    NumPy是Python語言的一個擴展包。支持多維數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。NumPy提供了與Matlab相似的功能
    發表于 11-15 12:31 ?1999次閱讀

    基于python的numpy深度解析

    numpy(Numerical Python)提供了python對多維數組對象的支持:ndarray,具有矢量運算能力,快速、節省空間。numpy支持高級大量的維度數組與矩陣運算,此外
    的頭像 發表于 01-24 13:55 ?5254次閱讀
    基于python的<b class='flag-5'>numpy</b>深度解析

    用于數據科學的python必學模塊Numpy的備忘單資料免費下載

    本文檔的主要內容詳細介紹的是用于數據科學的python必學模塊Numpy的備忘單資料免費下載。
    發表于 09-18 08:00 ?15次下載

    圖解NumPy的核心概念:向量、矩陣、3維及更高維數組

    。同時,在、、等深度許欸小框架中,了解numpy將顯著提高數據共享和處理能力,甚至無需過多更改就可以在運行計算。 n維數組NumPy的核心概念,這樣的好處,盡管一維和而為數組的處理方
    的頭像 發表于 02-11 10:01 ?6027次閱讀
    圖解<b class='flag-5'>NumPy</b>的核心概念:向量、矩陣、3維及更高維<b class='flag-5'>數組</b>

    圖文詳解NumPy看這一篇就夠了

    寫下來,讓學習過程變得輕松有趣。在Reddit機器學習社區發布不到半天就收獲了500+贊。 下面就讓我們跟隨他的教程一起來學習吧! 教程內容分為向量?(一維數組)、矩陣?(二維數組)、三維與更高維數組3個部分。
    的頭像 發表于 05-26 09:45 ?3279次閱讀
    圖文詳解<b class='flag-5'>NumPy</b>看這一篇就夠了

    Numpy詳解-軸的概念

    NumPy數組的維數稱為秩(rank),一維數組的秩為1,二維數組的秩為2,以此類推。在NumPy中,每一個線性的
    的頭像 發表于 04-25 10:25 ?2919次閱讀

    Numpy數組的高級操作總結

    NumPy 包含一個迭代器對象numpy.nditer。它是一個有效的多維迭代器對象,可以用于在數組上進行迭代。數組的每個元素可使用 Python 的標準Iterator接口來訪問。
    的頭像 發表于 05-13 12:53 ?1348次閱讀

    List和Numpy Array有什么區別

    Numpy 是Python科學計算的一個核心模塊。它提供了非常高效的數組對象,以及用于處理這些數組對象的工具。一個Numpy數組由許多值組成
    的頭像 發表于 10-30 10:49 ?879次閱讀
    List和<b class='flag-5'>Numpy</b> Array有什么區別
    主站蜘蛛池模板: 99re5.久久热在线视频| 视频一区二区三区蜜桃麻豆| 在线电影一区二区| 久久秋霞理论电影| 最近中文字幕2019国语4| 久久午夜伦理| 抽插内射高潮呻吟爆乳| 乡村教师电影版| 久久久久久久久久综合情日本| 66美女人体| 色四房播播| 久久99精品久久久久久园产越南| 最新国产成人综合在线观看| 人妻精品久久无码专区| 国产专区青青草原亚洲| 最近2019中文字幕免费版视频| 欧美一区二区三区激情视频 | 手机看片成人| 久久青草免费线观最新| 成年免费三级视频| 亚洲第一色网站| 国产精品卡1卡2卡三卡四| 杨幂视频在线观看1分30秒 | aaa在线观看视频高清视频| 人人澡人人爽人人精品| 国产三级在线观看免费| 亚洲AV无码国产精品色午夜情| 激情办公室| 大香网伊人久久综合网2020| 亚洲电影二区| 久亚洲AV无码专区A片| 国产h视频免费观看| 18国产精品白浆在线观看免费| 双手绑在床头调教乳尖| 国语自产一区第二页| 羞羞麻豆国产精品1区2区3区| 久久视频在线视频观看精品15| 高H辣肉办公室| 97在线免费观看| 伊人角狠狠狠狠| 亚洲国产区中文在线观看 |