pandas库数据清洗

      数据清洗是将重复、多余的数据赛选清除,将缺失的数据补充完整,提高数据的一致性。

         一般包括:分析数据、缺失值处理、异常值处理、去重处理、噪声数据处理。

        Pandas数据结构包括二种,一种是一维标记数据,一种是类似excel二维标记数据。

(一)pandas数据结构

1.创建数据格式

从Excel中创建数据格式:df=pd.DataFrame(pd.read_excel(‘a.xls’)

从CSV中创建数据格式:df=pd.DataFrame(pd.read_csv(‘j.csv’)

2.查看数据

df.head(3)

head()函数查看前几行数据,tail()查看后几行数据;

df.index() df.columns() 查看行名、列名;

查看数据值:loc iloc loc表示根据行名查看;iloc根据数字索引查看,也就是行号

df.shape[0,1] 0表示查看行数,1表示查看列数

3.缺失值处理

处理方法:填充默认值、去掉缺失数据行或列

删除NAN所在的行:df.dropna(axis=0)

删除NAN所在的列:df.dropna(axis=1,how=’all’/’any’)  all代表删除表中全部为NAN的列;any代表删除表中任何含有NAN的列。

填充NA/NAN值:df.fillna(0)  

为不同的列填充不同的值:df.fillna({‘two’:222,’three’:333})   第二列“two” ,第三列 ‘three’

4.去重处理

duplicated():用来查找并显示数据表中的重复数据值;

drop_duplicated():用于去掉重复的数据,保留第一次出现的数据。参数subset=None,默认为所有列,指定后选定的列。

5.噪声数据处理

对于偏离群体的数据,一般可以ongoing偏离均值三倍标准差的数据进行删除。

import pandas as pd

import numpy as np

#创建二维数据格式

#df=pd.DataFrame(np.random.randn(20,4),index=list(range(20)),columns=list('abcd'))

#print (df)

#写入Excel文件

#df.to_excel('excel_to_python.xls',sheet_name='random')

#噪声数据处理

#去除噪声的函数

def drop_noisy_data(df):

    df_copy=df.copy()

    df_describe=df_copy.describe()

    for column in df.columns:

        mean=df_describe.loc['mean',column]

        std=df_describe.loc['std',column]

        minvalue=mean-2*std

        maxvalue=mean+2*std

        #print("mean:{:.2f},std:{:.2f}".format(mean,std))

      

        df_copy=df_copy[df_copy[column]>=minvalue]

        df_copy=df_copy[df_copy[column]<=maxvalue]

    return df_copy

filename="excel_to_python.xls"

df1=pd.read_excel(filename)

df_copy=drop_noisy_data(df1)

df_copy.to_excel('zaoshengchuli.xls',sheet_name='new')

excel_to_python.xls文件

zaoshengchuli.xls文件

 df_describe结构中的内容

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值