<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          NumPy 的 nan 如何理解?

          共 957字,需瀏覽 2分鐘

           ·

          2020-12-01 20:47

          Python 中表示空數(shù)據(jù)使用 None,它是 NoneType?類(lèi)型,如下所示:


          In?[59]:?type(None)????????????
          Out[59]:?NoneType


          NoneType 類(lèi)型沒(méi)有對(duì)外公開(kāi)屬性和方法:



          因此,None 比較容易理解,就是一種空類(lèi)型。


          但是使用過(guò) NumPy 的肯定都會(huì)接觸到 nan 這種類(lèi)型,它的其他寫(xiě)法:NaN或 NAN,查看其類(lèi)型卻發(fā)現(xiàn)是 float 類(lèi)型:


          In?[63]:?type(np.nan)????????????????????
          Out[63]:?float


          這不免讓人心生疑惑,nan 不是空數(shù)據(jù),而是浮點(diǎn)數(shù),那么到底等于多少?


          原來(lái)這并不是NumPy特有的數(shù)值,而是IEEE754規(guī)定的特殊浮點(diǎn)數(shù)之一。


          特殊在哪里?


          這就要知道計(jì)算機(jī)是如何表示浮點(diǎn)數(shù)的,IEEE754 標(biāo)準(zhǔn)中規(guī)定 float 單精度浮點(diǎn)數(shù),在機(jī)器中表示用 1 位表示數(shù)字的符號(hào),用 8 位表示指數(shù),用 23 位表示尾數(shù),即小數(shù)部分,如下圖所示:



          關(guān)于浮點(diǎn)數(shù)表示更加詳細(xì)的解釋可參考下面鏈接,在此不詳細(xì)展開(kāi):


          https://blog.csdn.net/k346k346/article/details/50487127


          對(duì)于單浮點(diǎn)數(shù),指數(shù)部分由8位組成,所以取值范圍:0到255,而指數(shù)等于0,255 這兩個(gè)值,IEEE754 標(biāo)準(zhǔn)有特別的規(guī)定:


          1. 當(dāng)指數(shù)等于0,并且小數(shù)點(diǎn)后所有位全為 0,則這個(gè)數(shù)為 0


          2.?當(dāng)指數(shù)等于255,并且小數(shù)點(diǎn)后所有位全為 0,則這個(gè)數(shù)為無(wú)窮,當(dāng)符號(hào)位為0時(shí)正無(wú)窮 float('inf'),當(dāng)符號(hào)位為1時(shí)負(fù)無(wú)窮 float('-inf')


          3. 當(dāng)指數(shù)等于255,并且小數(shù)點(diǎn)后至少一位不為 0,規(guī)定此浮點(diǎn)數(shù)為 nan,表達(dá)的含義:not a number ,不是一個(gè)數(shù)


          以上就是 NumPy 中 nan 的解釋?zhuān)宄举|(zhì)后,再來(lái)看幾個(gè)關(guān)于它的運(yùn)算。


          既然 nan 不是一個(gè)數(shù),所以拿它與任何浮點(diǎn)數(shù)比較,返回結(jié)果都是 False:


          In?[64]:?np.nan?0????????????????????
          Out[64]:?False

          In?[65]:?np.nan?==?np.nan?????????????????????
          Out[65]:?False

          In?[66]:?np.nan?Out[66]:?False


          找出 np.nan 出現(xiàn)的索引位置,可以使用 isnan 方法:


          In?[67]:?a?=?np.array([-9,np.nan,10,np.nan])
          #?找出np.nan出現(xiàn)的索引
          In?[68]:?a.where(np.isnan(a))?
          #?返回結(jié)果
          #?(array([1,?3]),)



          往期精彩回顧





          獲取本站知識(shí)星球優(yōu)惠券,復(fù)制鏈接直接打開(kāi):

          https://t.zsxq.com/qFiUFMV

          本站qq群704220115。

          加入微信群請(qǐng)掃碼:

          瀏覽 43
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩欧美精品 | 伊人网站在线观看 | 亚洲激情在线观看 | 色婷婷国产高清 | 欧美se网|