(100天2小时第二十二天)读取csv、保存csv文件,缺失值处理

一、给你一个csv文件,怎么用pandas读取,怎么保存csv文件? 

    1.若文件名为:train.csv

    2.读取数据:pd.read_csv('train.csv')

    保存数据:

    (1)在Excel 中打开需要存为csv的文件

      (100天2小时第二十二天)读取csv、保存csv文件,缺失值处理

(2)在文件上方的菜单栏中选择文件选项的另存为,在弹出的选项中选择并点击“其他格式”选项按扭,进入下一页面。

      (100天2小时第二十二天)读取csv、保存csv文件,缺失值处理

(3)在存储文件类型的选项栏中选择“CVS”类型,如下图所示,选好后点击保存。

       (100天2小时第二十二天)读取csv、保存csv文件,缺失值处理

  (4)这样CSV文件就存储好了。

二、当数据中有缺失值应该怎么处理?

      1.缺失值产生的原因?

       缺失值产生的原因有很多种,主要有机械原因和人为原因。机械原因是机器损坏导致的数据缺失,人为原因是在调研过程中被访人拒绝透漏相关信息或者回答的问题是无效的,导致数据录入人员录入信息有误。

       2.缺失值产生的类型

        完全随机缺失:指的是数据的缺失是完全随机的,不依赖于任何不完全变量或完全变量,不影响样本的无偏性。例如家庭地址缺失。

        随机缺失:指的是数据的缺失不是完全随机的,即该类数据缺失依赖于其他完全变量。例如财务数据缺失情况与企业的大小有关。

        非随机缺失:指的是数据的缺失与不完全变量自身的取值有关。如高收入人群的不愿意提供家庭收入。

        从缺失值的所属属性上讲,如果所有的缺失都是同一属性,那么这种缺失称为单值缺失;如果缺失值属于不同的属性,称为任意缺失。

        3.缺失值的处理方法 

        要以最可能的值来来插补缺失值比完全删除不完全样本所产生的信息丢失要少。在数据挖掘中,面对的通常是大型的数据库,它的属性有几十个甚至几百个,因为一个属性值的缺失而放弃大量的其他属性值,这种删除是对信息的极大浪费,所以产生了以可能值对缺失值进行插补的思想与方法。常用的有如下几种方法:

        (1)均值插补。数据的属性分为定距型和非定距型。如果缺失值是定距型的,就以该属性存在值的平均值来插补缺失的值;如果缺失值是非定距型的,就根据统计学中的众数原理,用该属性的众数(即出现频率最高的值)来补齐缺失的值。 

        (2)利用同类均值插补。同均值插补的方法都属于单值插补,不同的是,它用层次聚类模型预测缺失变量的类型,再以该类型的均值插补。假设X=(X1,X2…Xp)为信息完全的变量,Y为存在缺失值的变量,那么首先对X或其子集行聚类,然后按缺失个案所属类来插补不同类的均值。如果在以后统计分析中还需以引入的解释变量和Y做分析,那么这种插补方法将在模型中引入自相关,给分析造成障碍。 

        (3)极大似然估计(Max Likelihood ,ML)。在缺失类型为随机缺失的条件下,假设模型对于完整的样本是正确的,那么通过观测数据的边际分布可以对未知参数进行极大似然估计(Little and Rubin)。这种方法也被称为忽略缺失值的极大似然估计,对于极大似然的参数估计实际中常采用的计算方法是期望值最大化(Expectation Maximization,EM)。该方法比删除个案和单值插补更有吸引力,它一个重要前提:适用于大样本。有效样本的数量足够以保证ML估计值是渐近无偏的并服从正态分布。但是这种方法可能会陷入局部极值,收敛速度也不是很快,并且计算很复杂。 

         (4)多重插补(Multiple Imputation,MI)。多值插补的思想来源于贝叶斯估计,认为待插补的值是随机的,它的值来自于已观测到的值。具体实践上通常是估计出待插补的值,然后再加上不同的噪声,形成多组可选插补值。根据某种选择依据,选取最合适的插补值。

        多重插补方法分为三个步骤:①为每个空值产生一套可能的插补值,这些值反映了无响应模型的不确定性;每个值都可以被用来插补数据集中的缺失值,产生若干个完整数据集合。②每个插补数据集合都用针对完整数据集的统计方法进行统计分析。③对来自各个插补数据集的结果,根据评分函数进行选择,产生最终的插补值。