亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中處理無效數(shù)據的詳細教程

 更新時間:2023年06月04日 11:20:39   作者:艾派森  
無效數(shù)據是指不符合數(shù)據收集目的或數(shù)據收集標準的數(shù)據,這些數(shù)據可能來自于不準確的測量、缺失值、錯誤標注、虛假的數(shù)據源或其他問題,本文就將帶大家學習Python中如何處理無效數(shù)據,感興趣的同學可以跟著小編一起來學習

1.無效數(shù)據的概念

無效數(shù)據是指不符合數(shù)據收集目的或數(shù)據收集標準的數(shù)據。這些數(shù)據可能來自于不準確的測量、缺失值、錯誤標注、虛假的數(shù)據源或其他問題。無效數(shù)據可能會對數(shù)據分析結果產生誤導,因此需要在數(shù)據分析之前進行過濾和處理。

無效數(shù)據的類型包括但不限于以下幾種:

  • 缺失值:缺失值是指在數(shù)據集中沒有收集到足夠的信息來完全確定其值的數(shù)據點。缺失值可以是由于數(shù)據收集過程中的誤差、數(shù)據源的不確定性、數(shù)據點之間的相互作用等原因產生的。在數(shù)據分析中,缺失值可能會對數(shù)據集的質量和模型的準確性產生負面影響。
  • 重復值:重復值是指在數(shù)據集中重復出現(xiàn)的數(shù)據點。在數(shù)據集中,每個數(shù)據點都應該是唯一的,即不存在兩個相同的數(shù)據點。重復值可能會對數(shù)據分析和建模產生負面影響,因為它們可能會掩蓋數(shù)據集中的重要信息。
  • 異常值:異常值是指在數(shù)據集中偏離平均值或常見值的數(shù)據點。異常值可以是由于數(shù)據收集過程中的誤差、數(shù)據源的不確定性、數(shù)據點之間的相互作用等原因產生的。異常值可能會對數(shù)據分析和建模產生負面影響,因為它們可能會掩蓋數(shù)據集中的重要信息,或者導致模型產生錯誤的結論。

2.無效數(shù)據的處理方法

2.1缺失值處理

缺失值處理是指在數(shù)據分析過程中,針對數(shù)據集中存在缺失值的數(shù)據點進行的處理和重新處理。缺失值處理的目的是消除缺失值對數(shù)據集的影響,提高數(shù)據集的質量和模型的準確性。

缺失值處理的方法包括以下幾種:

  • 填充均值:將缺失值填充為數(shù)據集中該值所在列的均值。
  • 填充中位數(shù):將缺失值填充為數(shù)據集中該值所在列的中位數(shù)。
  • 填充最大最小值:將缺失值填充為數(shù)據集中該值所在列的最大最小值。
  • 使用其他數(shù)據點的信息填充缺失值:根據數(shù)據集中的其他數(shù)據點的信息,使用統(tǒng)計方法或其他算法來填充缺失值。
  • 刪除缺失值:將缺失值所在的數(shù)據點從數(shù)據集中刪除。

在處理缺失值時,需要根據具體情況進行決策。填充均值和使用其他數(shù)據點的信息填充缺失值通常適用于數(shù)據集中存在少量缺失值的情況。使用其他數(shù)據點的信息填充缺失值和刪除缺失值適用于數(shù)據集中存在大量缺失值的情況。此外,缺失值處理的方法也需要考慮到數(shù)據集的完整性和一致性,以確保數(shù)據分析和建模的準確性。

案例演示

首先導入我們演示的數(shù)據集

import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
data = pd.read_csv('test.csv')
data

a2401dd7a0b948a0beac604c4a697069.png

我們可以使用isnull來查看缺失值個數(shù)

36d571527f914d31a1f23713252d6655.png

可以看出姓名列是沒有缺失值,年齡列有1個缺失值,余額列有兩個缺失值。

1.填充均值 

比如我們想要將年齡列中的缺失值用均值來填充,首先可以看一下年齡列均值是多少

b3793a6316d842fb86049071a6ddbf8e.png

接著使用fillna()函數(shù)填充缺失值,第一個參數(shù)是填充的值,這里我們使用年齡的均值,也就是前面的24.25,可以使用int()轉化為整數(shù),inplace=True表示在原數(shù)據上修改,默認為False。修改之后我們再次查看數(shù)據發(fā)現(xiàn)年齡列的缺失值已經使用均值24填充。 

11b2cac04d30471188a2df9a88f70b4e.png

 2.填充中位數(shù)

還是以年齡為例,查看年齡列的中位數(shù)

0dd2dc4cd92543a0883355994b420b32.png

使用中位數(shù)進行填充 

60cec91ade104853b391a00349ef1215.png

3.填充最大最小值

以年齡為例,查看最大最小值

fcd4011066584fb8ad7e9e3ac4e9dada.png

使用最大最小值填充 

9cde39d458244b70bfe726ee40f9b406.png

4.前向填充/后向填充

前向填充就是將缺失值所在位置的上一個值作為填充值填充缺失數(shù)據。

后向填充就是將缺失值所在位置的下一個值作為填充值填充缺失數(shù)據。

88c8a94e3c134909bf8feb0280c4c7fb.png

但是如果我們在使用后向填充的時候,最后一個數(shù)據是缺失值的話,那么最后一個缺失值將會遺漏。所以我們可以前向和后向結合起來就可以做到萬無一失,比如下面的示范:

e9c0ceb5fb31465e8c10ba452d53b561.png

5.刪除缺失值

刪除的話直接使用dropna即可,需要在原數(shù)據上操作的話可以加個inplace=True。

5f3be7635e30475dace5896650716bc9.png

2.2重復值處理

重復值的話一般都是采取刪除處理,因為相同的數(shù)據出現(xiàn)了n次都是沒有意義的,一次就夠。

案例演示

首先導入演示數(shù)據集

61398e04256543fca932aa7f7353e2e0.png

我們可以先使用any函數(shù)和duplicated函數(shù)來檢測數(shù)據是否存在重復值,如果返回結果為True說明數(shù)據存在重復值;如果返回結果為False說明數(shù)據不存在重復值。

2937dc3b00d944f388a23c0170e89be7.png

前面我們導入數(shù)據的時候就發(fā)現(xiàn)李四數(shù)據是有重復的,所以這里檢測的結果為True。刪除的話直接使用drop_duplicates函數(shù)即可。

a35365d5a3f045deb2ac42a54327a251.png

2.3異常值處理

異常值是指在數(shù)據集中偏離通常模式或規(guī)律的值,可以是正常情況的異常值,也可以是異常情況的異常值。

正常情況的異常值。比如我們想建立居民收入水平的時候,那些收入極其高或低極端數(shù)據會影響模型的效果,所以我們一般要進行剔除。

異常情況的異常值。比如數(shù)值型變量中出現(xiàn)負數(shù)或其他不符合常理的值等等。

檢測方法1

使用describe()方法來查看數(shù)值型變量是否存在極端值

15b7754321e64419be2ccb597a856154.png

檢測方法2

通過畫出箱線圖的方式來展示數(shù)據分布情況

6eb2863489eb4285ab9f1bc6c3598aa2.png

比如上圖中的第五幅圖就明顯存在極端值。

處理的方法就是剔除這些異常數(shù)據,這個方式很靈活。比如前面我們發(fā)現(xiàn)累計票房一般都是在100000以內,卻出現(xiàn)了700000的極端數(shù)據,我們就可以采取以下方式挑選出正常數(shù)據:

a346c7f00e2843e99a7562706bc920a8.png

如果我們有多個條件的話可以使用()和&/|字符來結合使用,&表示and交集的意思,|表示or并集的意思。比如下圖我們就挑選出累計票房小于100000并且場均人次小于100的數(shù)據:

3f23dc324d81424ea9508fc69b0349b5.png

3.如何避免無效數(shù)據?

那我覺得就需要在獲取數(shù)據的源頭來防止無效數(shù)據的產生,這樣也能較少花在處理無效數(shù)據的時間成本上。獲取數(shù)據一般就是通過爬蟲獲取或從數(shù)據庫中提取。爬蟲的話,在編寫代碼時可以采取適當?shù)倪^濾措施,比如某個字段出現(xiàn)空值或異常值,你可以將這條數(shù)據不進行保存。從數(shù)據庫提取的話,在sql上加一些去重/去空的語句即可。

以上就是Python中處理無效數(shù)據的詳細教程的詳細內容,更多關于Python 處理無效數(shù)據的資料請關注腳本之家其它相關文章!

相關文章

最新評論