Python隨手練習 資料清洗

2021-10-02 06:03:28 字數 2683 閱讀 4567

import pandas as pd

import os

os.chdir('c:\\users\\violette\\desktop\\')

data1=pd.read_csv('11資料.csv',encoding= 'gbk',header=none)

#完整性

#缺失值:刪除、均值、高頻

#刪除全空的行

data1.dropna(how='all',inplace=true)

#均值填充

#data1['weight'].fillna(data1['weight'].mean(),inplace=true)

#高頻填充

age_maxf=data1['age'].value_counts().index[0]#value_counts得到age名和頻次

#盡量**內容不帶單位方便處理,將單位標註在標籤上

#去掉單位

data1['weight']=data1['weight'].str.replace('kgs','')

#由str轉為float

data1['weight']=pd.to_numeric(data1['weight'])

#均值填充weight

data1['weight'].fillna(data1.weight.mean(),inplace=true)

#將單位移動到name

data1.rename(columns=,inplace=true)#注意inplace

#合理性 

#拆分name為名和姓

data1[['firstname','lastname']]=data1['name'].str.split(expand=true)

#刪除name

data1.drop('name',axis=1,inplace=true)

#更改df的順序

order=['no','firstname','lastname','weight(kgs)',4,5,6,7,8,9]

data1=data1[order]

#轉換非ascii字元

#唯一性 刪除重複資料

課後練習:

import pandas as pd

import os

os.chdir('c:\\users\\violette\\desktop\\')

data=pd.read_csv('11作業資料.csv',encoding='utf-8')

發現的問題:

food列大小寫混雜——str.capotalize統一首字母大寫

ounces存在缺失項——用這一項的均值填補缺失值

ounces不應有負數——按照負數條件刪除列

corned beef bacon這個應該有問題但我沒弄它

python資料清洗

對於資料中缺失的值,可以有3種方法處理 1.刪除。比如餐廳的營業額,有幾天去裝修了,確實沒營業,可以刪除 2.不處理 有一些模型可以將缺失值作為一種特殊的值,可以直接建模。3.補上 均值 中位數 眾數 一般情況吧 固定值 比如工資啊,補貼啊 最近臨插補 最近的值,相鄰的,補上 下面是拉格朗日插值法 ...

資料清洗 python

資料清洗 python 1.1引言 對於處理大資料問題,首先就是要進行資料預處理,排除掉那些那些很離譜的資料,當然我們肯定不能乙個乙個用眼睛來找 容易累死 所以我們就要學會如何用程式來進行資料的預處理,我們常常用兩種語言 matlab和python,這裡我先介紹一下用python進行資料清洗。1.2...

Python 資料清洗

重複值處理 一般採取刪除法,但是有些不能刪 df.duplicated df.duplicated subset keep last first np.sum sd.duplicated df.dorp duplicates subset keep last first inplace true f...