總結(jié)了Pandas實(shí)現(xiàn)數(shù)據(jù)清洗的7種方式
最近在做“對(duì)比excel,學(xué)習(xí)pandas系列”,前面發(fā)了一篇 很受讀者喜愛(ài),今天給大家介紹一下excel和pandas實(shí)現(xiàn)數(shù)據(jù)清洗的種方式
1.處理數(shù)據(jù)中的空值
我們?cè)谔幚碚鎸?shí)的數(shù)據(jù)時(shí),往往會(huì)有很多缺少的的特征數(shù)據(jù),就是所謂的空值,必須要進(jìn)行處理才能進(jìn)行下一步分析
空值的處理方式有很多種,一般是刪除或者填充
Excel通過(guò)“查找和替換”功能實(shí)現(xiàn)空值的統(tǒng)一替換:
通過(guò)“定位”刪除空值:
pandas處理空值的方式比較靈活,可以使用dropna函數(shù)刪除空值
- import pandas as pd
- data=pd.read_csv('成績(jī)表.csv',encoding='gbk')
- data.dropna(how='any')
用fillna函數(shù)實(shí)現(xiàn)空值的填充
①使用數(shù)字0填充數(shù)據(jù)表中的空值
- data.fillna(value=0)
②使用平均值填充數(shù)據(jù)表中的空值
- data['語(yǔ)文'].fillna(data['語(yǔ)文'].mean())
2.刪除空格
excel中清理空格很簡(jiǎn)單,直接替換即可
pandas刪除空格也很方便,主要使用map函數(shù)
- data['姓名']=data['姓名'].map(str.strip)
- data
3.大小寫(xiě)轉(zhuǎn)換
excel中大小寫(xiě)轉(zhuǎn)換函數(shù)分別為upper()和lower()
pandas中轉(zhuǎn)換函數(shù)也為upper()和lower()
- data['拼音']=data['拼音'].str.upper()
- data
- data['拼音']=data['拼音'].str.lower()
- data
4.更改數(shù)據(jù)格式
excel中更改數(shù)據(jù)格式通過(guò)快捷鍵“ctrl+1”打開(kāi)“設(shè)置單元格格式”:
pandas使用astype來(lái)修改數(shù)據(jù)格式,以將“語(yǔ)文”列改成整數(shù)為例
- data['語(yǔ)文'].dropna(how='any').astype('int')
5.更改列名稱(chēng)
excel中更改列名稱(chēng)就不說(shuō)了,大家都會(huì)
pandas使用rename函數(shù)更改列名稱(chēng),代碼如下:
- data.rename(columns={'語(yǔ)文':'語(yǔ)文成績(jī)'})
6.刪除重復(fù)值
excel的功能區(qū)“數(shù)據(jù)”下有“刪除重復(fù)項(xiàng)”,可以用來(lái)刪除表中的重復(fù)值,默認(rèn)保留最第一個(gè)重復(fù)值,把后面的刪除:
pandas使用drop_duplicates函數(shù)刪除重復(fù)值:
- data['數(shù)學(xué)'].drop_duplicates() #默認(rèn)刪除后面的重復(fù)值
- data['數(shù)學(xué)'].drop_duplicates(keep='last') #刪除第一項(xiàng)重復(fù)值
7.修改及替換數(shù)據(jù)
excel中使用“查找和替換”功能實(shí)現(xiàn)數(shù)值的替換
pandas中使用replace函數(shù)實(shí)現(xiàn)數(shù)據(jù)替換
- data['姓名'].replace('成 功','失 敗')
本文轉(zhuǎn)載自微信公眾號(hào)「python數(shù)據(jù)分析之禪」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系python數(shù)據(jù)分析之禪公眾號(hào)。