国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時隨地免費學(xué)習(xí)課程

            當(dāng)前位置:首頁  >  技術(shù)干貨  > Python Float NaN

            Python Float NaN

            來源:千鋒教育
            發(fā)布人:xqq
            時間: 2023-11-24 21:03:21 1700831001

            一、簡介

            Python float NaN指的是“Not a Number”,即不是數(shù)字的浮點數(shù)值。通常出現(xiàn)在交叉驗證等機器學(xué)習(xí)應(yīng)用場景中。Python浮點數(shù)的NaN值是可以通過math.nan或float('nan')方法創(chuàng)建出來的。這個NaN值可以與其他數(shù)字進(jìn)行比較,但是卻不能和自身進(jìn)行比較。

            讓我們來看一個例子:

            
            import math
            a = float('nan')
            b = float('nan')
            c = 1.0
            print(a == b) # False
            print(a == a) # False
            print(math.isnan(a)) # True
            print(c > a) # False
            

            二、原理

            Python 中的 NaN 與 IEEE 754 標(biāo)準(zhǔn)中的 NaN 實現(xiàn)基本相同。 IEEE 754 中只定義了雙精度(double precision)的 NaN,但使用時需注意單精度(float)的 NaN 實現(xiàn)也與雙精度相同,僅數(shù)字精度不同。

            IEEE 754 中,NaN 有兩種類型:一種是 quiet NaN(QNaN);一種是 signaling NaN(SNaN)。

            QNaN 表示的是未定義或不適用的操作產(chǎn)生的結(jié)果。它可以被改變?yōu)?SNaN。

            SNaN 表示的是嘗試執(zhí)行結(jié)果未定義的操作時產(chǎn)生的 NaN,默認(rèn)情況下,Python 只會使用 quiet NaN。SNaN 只應(yīng)該在調(diào)試和特定應(yīng)用中使用。

            有一些操作可以產(chǎn)生 NaN,包括:

            除以 0 0 除以 0 無窮 / 無窮 無窮 - 無窮 負(fù)數(shù)的平方根

            三、應(yīng)用

            NaN 在機器學(xué)習(xí)中可用于以下用途:

            缺失值的填充,即將列中的缺失值替換為 NaN。 標(biāo)記異常值,如數(shù)據(jù)集中的遠(yuǎn)離均值的極端值可以被標(biāo)記為 NaN。 簡化數(shù)據(jù)處理,當(dāng)需要忽略一些數(shù)據(jù)點時,可將其替換為NaN,減少對其他數(shù)據(jù)的干擾。

            四、使用示例

            1. 缺失值填充

            在數(shù)據(jù)分析中,經(jīng)常會遇到一些缺失值需要填充。通過將缺失值替換為 NaN,在分析中可以方便地使用 df.isna() 或 df.isnull() 進(jìn)行識別。

            
            import pandas as pd
            import numpy as np
            
            data = {'name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
                    'age': [28, 25, np.nan, 22],
                    'salary': [3000, 5000, np.nan, 8000]}
            
            df = pd.DataFrame(data)
            print(df)
            
            df.fillna(value=np.nan, inplace=True)
            print(df)
            

            2. 標(biāo)記異常值

            有些數(shù)據(jù)集中可能存在一些離群值,將其用 NaN 標(biāo)記,可以在分析中忽略這些數(shù)據(jù)點,并且不會對其他數(shù)據(jù)造成干擾。

            
            import pandas as pd
            import numpy as np
            
            data = {'name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
                    'age': [28, 25, 500, 22],
                    'salary': [3000, 5000, 10000, 8000]}
            
            df = pd.DataFrame(data)
            print(df)
            
            df['age'] = np.where(df['age'] > 100, np.nan, df['age'])
            print(df)
            

            3. 簡化數(shù)據(jù)處理

            有些數(shù)據(jù)點會對分析造成干擾,這時可以將其替換為 NaN,這樣在分析時就不會考慮這些特殊情況,避免對其他數(shù)據(jù)產(chǎn)生影響。

            
            import pandas as pd
            import numpy as np
            
            data = {'name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
                    'age': [28, 25, 500, 22],
                    'salary': [3000, 5000, 10000, 8000]}
            
            df = pd.DataFrame(data)
            print(df)
            
            df['age'] = np.where(df['age'] > 100, np.nan, df['age'])
            df['salary'] = np.where(df['salary'] > 10000, np.nan, df['salary'])
            print(df)
            

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT