從0到1資料分析實戰學習筆記(二)資料清洗

2021-10-01 23:16:57 字數 1924 閱讀 6757

在資料探勘中,資料清洗是前期準備工作,對於資料科學家來說,我們會遇到各種各樣的資料,在分析前,要投入大量的時間和精力把資料「整理裁剪」成自己想要或需要的樣子。使得資料標準、乾淨、連續,為後續資料統計、資料探勘做好準備。

1.完整性:單條資料是否存在空值,統計的字段是否完善。

2.全面性:觀察某一列的全部數值,比如在excel表中,我們選中一列,可以看到該列的平均值、最大值、最小值。我們可以通過常識來判斷該列是否有問題,比如:資料定義、單位標識、數值本身。

3.合法性:資料的型別、內容、大小的合法性。比如資料中存在非ascii字元,性別存在了未知,年齡超過了150歲等。

4.唯一性:資料是否存在重覆記錄,因為資料通常來自不同渠道的彙總,重複的情況是常見的。行資料、列資料都需要是唯一的,比如乙個人不能重覆記錄多次,且乙個人的體重也不能在列指標中重覆記錄多次。使用 pandas 庫對資料清洗

原始資料如圖:

這些資料缺少標註,有些出現空值,food列中有重複資料,ounces 列有空值和負數,animal 有大小寫不一致,這些都要處理掉,最後獲得乙份純淨的有用的資料

下面,我們就依照「完全合一」的準則,使用pandas來進行清洗。

完整性問題1:缺失值

刪除 空列

df.drop(『unnamed: 3』, axis=1, inplace=true)

df.drop(『unnamed: 4』, axis=1, inplace=true)

df.drop(『unnamed: 5』, axis=1, inplace=true)

df.drop(『unnamed: 6』, axis=1, inplace=true)

使用當前列的均值填補空值

df[『ounces』].fillna(df[『ounces』].mean(), inplace=true)

全面性問題:列資料的單位不統一

字元全部轉化成小寫,保持字元一致

df[『animal』]= df[『animal』].str.lower()

df[『food』]= df[『food』].str.lower()

唯一性我們校驗一下資料中是否存在重覆記錄。如果存在重覆記錄,就使用 pandas 提供的 drop_duplicates() 來刪除重複資料。

df.drop_duplicates([『food』],inplace=true)

實戰**如下

import pandas as pd

import numpy as np

from pandas import series, dataframe

//讀取檔案

資料分析從0到1之AARRR模型 Blog2

今天也要加油鴨 aarrr增長漏斗模型分別對應使用者生命週期中的5個重要環節。1 使用者獲取作為模型的第一步,重要性也不言而喻。使用者拉新,首先要去考慮的其實並不是各種渠道推廣引流,而應該是產品上降低使用者的使用門檻,結合不同階段使用者群體的特徵,制定最適合的拉新策略,同時時刻關注各個核心資料指標。...

資料分析學習筆記1

檢視是否存在重複值 data.duplicated any 資料型別轉換 data id data id astype str data custom amt data custom amt str 1 astype float data order date pd.to datetime data...

《從0到1》閱讀筆記

chapter 1.未來的挑戰 須要用創新科技 從0到1 來解決,而非簡單的全球化 從1到n chapter 2.像1999年那樣狂歡 雖然1999年網際網路狂歡以悲劇結束,可是我們如今依舊須要有那時的熱情和精神進行創新。chapter 3.全部成功的企業都是不同的 他們都在各自的領域有一定程度的壟...