数据分析-简单实用的数据清洗代码整合

本文详细介绍数据清洗的关键步骤,包括删除多余列、改变数据类型、类别转数值、检查缺失值、去除特殊字符及空格、列合并及时间戳转换等实用技巧。

在这里插入图片描述

数据清洗代码整合

1 删除多列数据

有时,并不是所有列都对我们的分析有用。因此,df.drop函数是一个得心应手的工具去移除指定的列。

def drop_multiple_col(col_names_list,df):
    df.drop(col_names_list,axis=1,inplace=True)
    return df

2 改变数据类型

当一个数据集变大时,我们需要改变dtypes保存。

def change_dtypes(col_int,col_float,df):
    df[col_int] = df[col_int].astype("int32")
    df[col_float] = df[col_float].astype("float32")

3 类变量转换为数值变量

def convert_cat2num(df):
    num_encode = {"col_1":{"YES":1,"NO":0},"col_2":{"WON":1,"LOSE":0,"DRAW":0}}
    df.replace(num_code,inplace=True)

4 检查丢失数据

检查每列中丢失数据的数量,可以理解哪些列有多少丢失数据。

def check_missing_data(df):
    return df.isnull().sum().sort_values(ascending=False)

5 移除列中特殊字符串

def remove_col_str(df):
    # remove a portion of string in a datafram column - col_1
    df['col_1'].replace('\n', '', regex=True, inplace=True)
    # remove all the characters after &#(including &#) for column-col_1
    df['col_1'].replace(' &#.*', '', regex=True, inplace=True)

6 移除列中空格

def remove_col_white_space(df):
    ddf[col] = df[col].str.lstrip()

7 合并列

def concat_col_str_condition(df):
    mask = df["col_1"].str.endswith("pil",na=False)
    col_new = df[mask]["col_1"]+df[mask]["col_2"]
    col_new.replace("pil"," ",regex = True, inplace=True)#place the 'pil' with empty space

8 转换时间戳(string到datetime)

def convert_str_datetime(df):
    df.insert(loc=2,column='timestamp',value=pd.to_datetime(df.transdate, format='%Y-%m-%d %H:%M:%S.%f'))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值