python 数据分析(二)

一、重复值处理

找出行重复的位置a = df.duplicated(),如果是重复值返回True,反之返回False
根据列找出重复位置a = df.duplicated(['id','key']),有则返回True,反之返回False,根据返回值,将重复数据取出来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()

四、数据抽取

使用slice函数进行数据的抽取df['tel'].str.slice(0,3),抽取索引为0,1,2位置的元素。对于是数值型的数据,需要转换成字符串格式,才能使用slice函数抽取,df['tel'].astype(str)

五、字段拆分

按照固定的字符,拆分已有字符串split(sep,n,expand = False),参数说明sep用于分割的字符串,n分割为多少列,expand是否展开为数据库,默认为False,如df['name'].str.split(' ',1,True)

六、记录抽取

是指根据一定的条件,对数据进行抽取。
常用的条件类型:(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)]

七、随机抽样

是指随机从数据中,按照一定的行数或者比例抽取数据
随机抽样函数:DataFrame.sample(n,frac,replace=False),参数说明:n按个数抽样,frac按百分比抽样,replace是否可放回抽样,默认False不可放回

你可能感兴趣的:(python 数据分析(二))