一麻昼、重復值處理
找出行重復的位置a = df.duplicated()
拼岳,如果是重復值返回True,反之返回False
根據列找出重復位置a = df.duplicated(['id','key'])
,有則返回True助琐,反之返回False,根據返回值面氓,將重復數(shù)據取出來df[a]
刪除重復值兵钮,默認的是根據所有列蛆橡,進行刪除newDF = df.drop_duplicates()
,也可以指定某一列掘譬,進行重復值刪除newDF = df.drop_duplicates('id')
二泰演、缺失值處理
找到空值的位置isNA = df.isnull()
,空值的返回True葱轩,反之返回False
獲取空值返回的行df[isNA.any(axis=1)]
,指定列睦焕,獲取空值返回行df[isNA[[''key]].any(axis=1)]
給空值賦值df.fillna('未知')
刪除缺失值df.dropna()
三、空格值處理
刪除左空格df['name'].str.lstrip()
靴拱,刪除右空格df['name'].str.rstrip()
垃喊,默認刪除空格df['name'].str.strip()
四、數(shù)據抽取
使用slice函數(shù)進行數(shù)據的抽取df['tel'].str.slice(0,3)
缭嫡,抽取索引為0,1,2位置的元素缔御。對于是數(shù)值型的數(shù)據,需要轉換成字符串格式妇蛀,才能使用slice函數(shù)抽取耕突,df['tel'].astype(str)
五、字段拆分
按照固定的字符评架,拆分已有字符串split(sep,n,expand = False)
眷茁,參數(shù)說明sep用于分割的字符串,n分割為多少列纵诞,expand是否展開為數(shù)據庫上祈,默認為False,如df['name'].str.split(' ',1,True)
六浙芙、記錄抽取
是指根據一定的條件登刺,對數(shù)據進行抽取。
常用的條件類型:(1)比較運算df[df.comments>1000]
(2)范圍運算between(left,right)嗡呼,例如df[df.comments.between(1000,10000)]
(3)空值匹配pandas.isnull(column)纸俭,例如df[pandas.isnull(df.title)]
(4)字符匹配str.contains(patten,na=False),例如df[df.title.str.contains('臺電',na = False)]
(5)邏輯運算南窗,與(&)或(|)取反(not)揍很,例如df[(df.comments>=1000)&(df.comments<=10000)]
七、隨機抽樣
是指隨機從數(shù)據中万伤,按照一定的行數(shù)或者比例抽取數(shù)據
隨機抽樣函數(shù):DataFrame.sample(n,frac,replace=False)
窒悔,參數(shù)說明:n按個數(shù)抽樣,frac按百分比抽樣敌买,replace是否可放回抽樣简珠,默認False不可放回