数据清洗常用函数说明

本文介绍了数据清洗的关键步骤,包括缺失值的观察与处理,如删除和填充;重复值的观察与删除;以及特征的观察与处理,如数值型特征的分箱和文本型特征的转换。示例中提到了pandas库在数据处理中的应用。


一、缺失值观察与处理

#加载所需的库
import numpy as np
import pandas as pd

#加载数据train.csv
df = pd.read_csv('train.csv')

1. 缺失值观察

df.info()  #按列读取数据的详细信息,包括列名、非空数和数据类型
df.isnull().sum() #按列返回缺失值的总数
df.isna().mean() #按列返回缺失值的比例
df[df.isna().any(1)] #返回至少有一个缺失值的行
					 #isna() 和 isnull()完全相同

2. 缺失值处理

(1)删除

 df.dropna(
        axis=0, #{0:'i
### SQL 数据清洗常用函数 在SQL中,数据清洗是一个重要的过程,涉及多个方面的工作,包括但不限于去除多余空格、处理缺失值、格式化字符串以及数值计算等。下面列举了一些常用的SQL函数及其用途: #### 1. 处理空白字符 为了清理列名或字段内的不必要空格,`TRIM()` 函数被广泛应用于移除字符串两端的指定字符,默认为空白字符。 ```sql SELECT TRIM(' Hello World! '); -- 结果为 'Hello World!' ``` 对于更精细的操作,还可以分别使用 `LTRIM()` 和 `RTRIM()` 来单独清除左侧或右侧的空格[^1]。 #### 2. 替换特定子串 当遇到需要替换某些模式的情况时,可利用 `REPLACE()` 函数来完成这一任务。该函数接受三个参数:源字符串、旧子串和新子串。 ```sql SELECT REPLACE('abc-def-ghi', '-', ','); -- 输出 abc,def,ghi ``` #### 3. 数字四舍五入 针对浮点数或其他类型的数值型数据,在展示给最终用户之前通常会进行一定的精度调整。这可以通过调用 `ROUND()` 实现,它允许指定保留的小数位数。 ```sql SELECT ROUND(123.456789, 2); -- 返回 123.46 ``` #### 4. 将NULL转成其他值 面对可能存在的 NULL 值,可以考虑使用 `COALESCE()` 或者 `IFNULL()` (MySQL 特定) 这样的函数将其替换成更有意义的内容,比如默认值0或者其他合理的替代项。 ```sql SELECT COALESCE(NULL, 0); -- 如果第一个参数是null,则返回第二个参数 ``` #### 5. 提取日期时间部分 如果表格中含有完整的日期时间戳而只关心其中的一部分(如年份),那么就可以借助于诸如 `YEAR()`, `MONTH()`, `DAY()` 等专门设计用来解析 datetime 类型的数据提取组件。 ```sql SELECT YEAR('2023-04-01'), MONTH('2023-04-01'), DAY('2023-04-01'); -- 分别得到 2023, 4, 1 ``` 以上只是冰山一角,实际上每种数据库管理系统都提供了丰富的内置功能支持高效便捷的数据清洗工作。具体实现细节可能会因所使用的DBMS不同有所差异,请参照相应的产品文档获取最准确的信息[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值