基於python的大資料分析-資料處理(程式碼實戰)
接著上篇繼續。資料獲取之後並不能直接分析或使用,因為裡面有很多無效的垃圾資料,所以必須要經過處理才可以。資料處理的主要內容包括資料清洗、資料抽取、資料交換和資料計算等。
資料清洗
資料清洗是資料價值鏈中最關鍵的一步。垃圾資料即使是透過最好的分析也可能會產生錯誤的結果,並造成較大的誤導。
資料清洗就是處理缺失資料以及清除無意義的資訊,如刪除原始資料集中的無關資料、重複資料、平滑噪音資料,篩選掉與分析主題無關的資料等等。
重複值的處理
步驟如下:
1 利用DataFrame中的duplicated方法返回一個布林型的Series,顯示是否有重複行。沒有顯示FALSE,有則從重複的第二行起顯示為TRUE
2 在利用DataFrame中的drop_duplicates方法返回一個移除了重複行的DataFrame
duplicated的格式:
duplicated(subset=None, keep='first')
括號中的引數均為可選,不寫預設判斷全部列
subset用於識別重複的列標籤或列標籤序號,預設是所有的列標籤
keep為first表示除了第一次出現外,其餘相同的資料被標記為重複;為last表示除了最後一次外,其餘相同的資料被標記為重複;為false表示所有相同的資料都被標記為重複
drop_duplicates的格式:
drop_duplicates()
如果你想指定某個列就在括號里加入列名即可
from pandas import DataFrame from pandas import Series #造資料 df=DataFrame({'age':Series([26,85,85]),'name':Series(['xiaoqiang1','xiaoqiang2','xiaoqiang2'])}) df #判斷是否有重複行 df.duplicated() #移除重複行 df.drop_duplicates()
缺失值的處理
缺失值的處理一般包括兩個步驟,分別是缺失資料的識別和缺失資料的處理。
缺失資料的識別
pandas使用浮點值NaN表示浮點和非浮點陣列裡的缺失資料,並使用isnull和notnull函式來判斷缺失情況。
#缺失資料的識別 from pandas import DataFrame from pandas import read_excel #有缺失資料 df=read_excel(r'D:python_workspaceanacondarz.xlsx', sheetname='Sheet2') df #識別缺失資料,NaN的就會顯示True。notnull函式正好相反 df.isnull()
rz.xlsx的內容如下
缺失資料的處理
對於缺失資料的處理有資料補齊、刪除對應的行、不處理。這裡直接擼程式碼解釋
#接著上面的繼續,進行資料的處理 #去除資料中值為空的資料行 newdf=df.dropna() newdf #用其他數值代替NaN newdf2=df.fillna('--') newdf2 #用前一個資料值代替NaN newdf3=df.fillna(method='pad') newdf3 #用後一個資料值代替NaN newdf4=df.fillna(method='bfill') newdf4 #傳入一個字典對不同的列填充不同的值 newdf5=df.fillna({'數分':100,'高代':99}) newdf5 #用平均數來代替NaN。會自動計算有NaN兩列的資料的平均數 newdf6=df.fillna(df.mean()) newdf6 #還可以使用strip()來去除資料左右的指定字元,這個是python的基礎了,這裡不做演示了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942496/viewspace-2655490/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於python的大資料分析-pandas資料讀取(程式碼實戰)Python大資料
- 基於python的大資料分析-pandas資料儲存(程式碼實戰)Python大資料
- 【雲端大資料實戰】大資料誤區、大資料處理步驟分析大資料
- Python資料分析與挖掘實戰(資料預處理)Python
- 基於python的大資料分析實戰學習筆記-pandas(資料分析包)Python大資料筆記
- 【Python資料分析基礎】: 資料缺失值處理Python
- Python資料分析基礎: 資料缺失值處理Python
- 基於Spark的大資料實時處理開課Spark大資料
- 基於python的大資料分析實戰學習筆記-AnacondaPython大資料筆記
- 基於python的大資料分析實戰學習筆記-pandas之DataFramePython大資料筆記
- 我的《海量資料處理與大資料技術實戰》出版啦!大資料
- 6個用於大資料處理分析的最好工具大資料
- [資料處理]python基礎Python
- Python | 資料分析實戰ⅠPython
- Python | 資料分析實戰 ⅡPython
- [python] 基於Tablib庫處理表格資料Python
- CSDN周賽第37期:贏《Pandas入門與實戰應用 :基於Python的資料分析與處理》Python
- 基於Hadoop大資料分析應用場景與實戰Hadoop大資料
- 資料分析--資料預處理
- 資料處理利器python與scala物件導向對比分析2-大資料ML樣本集案例實戰Python物件大資料
- java大資料處理:如何使用Java技術實現高效的大資料處理Java大資料
- 基於ORM思想的資料庫處理ORM資料庫
- Python資料處理(二):處理 Excel 資料PythonExcel
- Python文字資料分析與處理Python
- Python環境安裝及資料基本預處理-大資料ML樣本集案例實戰Python大資料
- 七牛大資料平臺的實時資料分析實戰大資料
- 6個大資料處理分析的最好工具大資料
- 玩轉大資料系列之二:資料分析與處理大資料
- 資料處理的 9 大程式語言
- 基於雲原生的大資料實時分析方案實踐大資料
- 時間序列資料的預處理及基於ARIMA模型進行趨勢預測-大資料ML樣本集案例實戰模型大資料
- 基於Hive的大資料分析系統Hive大資料
- 基於 Spark 的資料分析實踐Spark
- 剖析大資料平臺的資料處理大資料
- 【Python資料分析基礎】: 異常值檢測和處理Python
- Matlab實驗資料處理程式大彙總Matlab
- Python利用pandas處理資料與分析Python
- 大資料workshop:《線上使用者行為分析:基於流式計算的資料處理及應用》之《實時資料分析:海量日誌資料多維透視》篇大資料