python清洗完数据做什么_Python 数据的清洗和准备
主要內容:缺失值處理
刪除重復值,離散化和分箱
函數映射,軸索引重定向
異常值檢測,虛擬變量 dummy
常用正則表達式
字符串操作
一,缺失值處理,過濾缺失值和補全缺失值
1, 過濾缺失值
可以使用 pandas.isnull 查看是否是缺失值和使用 pandas.dropna 去除缺失值。
使用dropna 可以刪除空值數據。當參數傳入 how=’all’ 將刪除所有值均為NA 的值,同樣的也可以傳入 axis 參數來指定對行還是對列操作。
2, 補全缺失值
在多數的情況下,使用fillna 來補全缺失值。以0來填充缺失值。也可以使用數據的平均值等填充,即填充值可以任意的指定。
以下為fillna 函數的參數
二,數據轉換
包括, 刪除重復值,使用函數映射數據,代替值 重命名軸索引 離散化和分箱操作
1, 刪除重復值,使用函數映射數據
使用的是 duplicated 函數其返回是一個布爾值得 Series。
Series 的Map 方法接受一個函數或是一個包含映射關系的字典類型對象,是一種可以便捷執行按元素轉換和其他清洗相關操作的方法。
2,代替值,重命名軸索引
使用 pd.replace(),一次性替換多個值可以傳入一個列表和替換值。要將不同的值替換不同的值,可以傳入替換值列表。也可以通過字典進行傳遞。
和Series中的值一樣可以通過函數或是某種形式的映射對軸標簽進行類似的轉換,生成新的且帶有不同標簽的對象。例如可以通過語句:
Data.index = data.index,map(lambda x: x[:4].upper())
3,離散化和分箱
連續值有時需要離散化,或是分離成箱子進行分析。例如將一群人的年齡進行分段化顯示。
數據顯示的是左開右閉,還可以通過labels 參數對分段的數據進行自定義的命名。
4 ,檢測過濾異常值,置換和隨機抽樣。
通過布爾運算,可以指定數據中的某一列中的值是否大于或是小于某個值。例如
Data[(np.abs(data)>3).any(1)] 選出數據中所有值大于3 或是小于-3 的行。
使用numpy.random.permutation 對 DataFrame 中的Series或是行進行置換,在調用permutation 時根據你想要的軸長度可以產生一個表示新順序的整數數組。
整數的數組可以用在基于 iloc 的索引或是等價的take 函數中。如 df.take(new).
要生成一個不含代替值的隨機子集,可以使用 Series和 DataFrame 的 sample 方法。 如果允許有重復值測傳入 replace=True.
5,計算指標/虛擬變量
將分類變量轉換為虛擬或是指標矩陣。例如 DataFrame中一列有K個不同的值,則可以衍生一個K列的值為 0 和 1 的矩陣或是 DataFrame。實現的函數為 get_dummies。
使用 join 函數加上前綴
三, 字符串操作
字符串內置方法,正則表達式和向量化字符串函數
1, 字符串內置方法
拆分字符串和去空格。分別使用 split() 和 strip() 函數。
Python內建字符串方法
2, 正則化表達式
正則表達式提供了一種在文本中靈活查找或是匹配字符串的方式。例如實現對多中空白字符隔開的字符串使用 \s+. re.split(‘\s+’,text)。 形成一個可以復用的正則表達式以提高效率。推薦使用 re.complie, 節約資源。
常用的正則化方法。
總結:
本文主要講述了數據的缺失值處理,數據的轉換和字符串的操作。其中缺失值處理包括缺失值的檢測,替換和填充。缺失值處理完畢后,就是對數據重復值,坐標軸變換和函數映射等,這一部分統一的稱為數據的轉換。最后講了正則表達式,正確的使用會極大的提高數據的處理效率,其中search find match 等幾個常用的函數應熟練的掌握。
編者按: 本文主要是學習 Python 數據分析的讀書筆記和操作練習,參考書書籍為《利用Python 進行數據分析》作者 Wes Mckinney 許敬一 翻譯。
歡迎大家一塊學習討論。
總結
以上是生活随笔為你收集整理的python清洗完数据做什么_Python 数据的清洗和准备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 中cookie_使用Pyt
- 下一篇: redis value多大会影响性能_r