ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Data Analysis 总结笔记:Data Cleaning

2022-02-09 18:03:45  阅读:157  来源: 互联网

标签:None False 变量 Analysis Cleaning 当前 variable Data 缺失


数据清洗是数据分析非常关键的一个步骤,也是一个必须的步骤。

这里记录了主要是记录如果利用 Python 来理解原始数据以及清洗数据。比如说如何处理缺失值,如何处理字段乱码,如何统一日期格式等等。


Handling Missing Value


对于某个字段内的缺失值,我们首先要分析一下为什么会出现缺失值:是采集数据的时候没有记录下来?还是因为这个数值本来就不存在(比如初婚年龄但有些人还是未婚等等)?通常根据以上问题的不同情况,我们对于处理缺失值有以下三种方法:

  1. 利用其它数据源补全缺失值。

    如果缺失值是因为记录不全而产生的,那么我们可以尽可能地找找其他数据源看看是否能收集到该缺失值的真实值。这样才能最大程度地还原数据的真实性。

  2. 移除缺失值。

    我们可以选择移除整个 variable 或者移除整个 sample。通常如果缺失值占比不多,建议移除 sample。

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
  1. 替代缺失值。

    如果当前 variable 为 numeric variable 则可以选用当前 variable 的均值替代缺失值;如果当前 variable 为 categorical variable 则可以选用当前 variable 的最常见值替代缺失值。

DataFrame.replace(to_replace=None, value=NoDefault.no_default, inplace=False, limit=None, regex=False, method=NoDefault.no_default)

Data Standardization


原始数据可能存在数值不同,单位不同,类型不同等等情况。我们需要对原始数据的不同数值进行统一。

  1. 统一变量值。

    原始数据某个字段里的一个数据可能存在多种表达形式。比如说 NY, New York, N.Y. 等等都是指代城市纽约。这时我们需要统一用使用一种形式来表达,将其他形式替换为统一形式。

  2. 不同单位转换数值。

    原始数据中某个变量的数据如果是使用不同的单位,我们还需要对不同单位的数值进行转换统一使用一个单位进行计量。

  3. 转换变量类型。

    我们可以利用 DataFrame.dtypes 查看各变量的类型。如果变量类型不合理,我们转换变量类型,比如说变量 price 当前类型为 object, 那我们可以将其转换为 float 方便后续分析。

    DataFrame.astype(dtype, copy=True, errors='raise')
    

Normalization


如果两个相关变量的数量级差距过大,比如说变量 A 的范围是 0-100,而变量 B 的范围是10000- 50000,这种差距在后续分析时量级大的变量就会对整体结果产生更大的影响,这种情况会进而影响分析的准确性。这种情况我们可以通过对数据进行归一化处理,降低某个变量对结果影响过大。

如果你在后续分析中需要用到假设数据为正态分布的统计方法,我们也可以通过归一化处理数据使其满足条件。

归一化的方法通常有以下三种:

  1. x*=x/max, 当前值除以当前变量的最大值,range[0,1]。

  2. x*=x-min/max-min,当前值减去当前变量的最小值除以当前变量的最小值减去当前变量的最大值, range[0,1]。

  3. x*=x-mean/sigma, 当前值减去当前变量的均值除以标准差,range 一般为 [-3 * sigma, 3 * sigma],也可能超过这个范围。


Bining


有时候我们会对数值型变量分组以增加预测模型的准确性,同时也可以更好地理解数据的分布。

pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise', ordered=True)

Dummy Variable


对于类别型变量,有时候我们可以将其变成 dummy variable,这样就能将类别型变量用于后续的回归分析中。比如说有一个类型型变量是 gender, 这样我们可以将其变成两个变量 gender_male & gender_female,数值用0,1表示。

pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)

标签:None,False,变量,Analysis,Cleaning,当前,variable,Data,缺失
来源: https://www.cnblogs.com/yukiwu/p/15876107.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有