精华内容
下载资源
问答
  • 缺失值填充:关于年龄特征

    千次阅读 2018-11-04 17:40:49
    缺失值填充这回事我们第一能想到的就是使用0进行填充,但是如果是年龄的话直接使用0进行填充就有点不太靠谱了,那么怎么办呢? 情况一:全样本均值填充 如果整个样本群体的年龄方差不大,比如整个样本来源于初中生,...

    不妥之处,欢迎评论指出。

    缺失值填充这回事我们第一能想到的就是使用0进行填充,但是如果是年龄的话直接使用0进行填充就有点不太靠谱了,那么怎么办呢?

    情况一:全样本均值填充

    如果整个样本群体的年龄方差不大,比如整个样本来源于初中生,年龄在13-15岁之间,那么直接使用全样本的均值填充即可。

    情况二:分类样本均值填充

    但是真实情况往往不会这么美好,哪怕是初中生也会有急着早读书的学生和可怜巴巴的留级生,再加上各个地区的入学年龄并不统一,那么年龄区间一下子就会被拉大到11-16,这时候全体均值就不是那么管用了。

    为了消除地区的影响,我们可以分地区进行均值计算,然后使用与样本同地区的均值进行填充。在入学的场景中我们需要考虑的地区粒度是城市,那么如果是生活习惯类的场景,我们可以考虑省份,又或者是大区(华东、华南之类的)。

    同理在其他的分析场景中,我们还可以考虑分性别、分职业等等…
    还可以考虑使用多个因素叠加分类之后再计算均值进行填充。

    条条大路通罗马,管用就行。

    展开全文
  • pandas 缺失值处理

    2019-04-05 09:58:02
    文章目录创建数据判断是否有缺失值及统计删除含有缺失值的行、列缺失值补充缺失值替换 创建数据 import pandas as pd import numpy as np data = pd.DataFrame({'a': [1, 2, 4, np.nan,7, 9], 'b': ['a', 'b', np....

    创建数据
    import pandas as pd
    import numpy as np
    data = pd.DataFrame({'a': [1, 2, 4, np.nan,7, 9], 'b': ['a', 'b', np.nan, np.nan, 'd', 'e'], 'c': [np.nan, 0, 4, np.nan, np.nan, 5], 'd': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
         a    b    c   d
    0  1.0    a  NaN NaN
    1  2.0    b  0.0 NaN
    2  4.0  NaN  4.0 NaN
    3  NaN  NaN  NaN NaN
    4  7.0    d  NaN NaN
    5  9.0    e  5.0 NaN
    
    判断是否有缺失值及统计
    print(data.isnull().any())
    
    a    True
    b    True
    c    True
    d    True
    
    print(data.isnull().sum())  #t统计每一列的缺失值个数
    a    1
    b    2
    c    3
    d    6
    
    删除含有缺失值的行、列

    axis 参数用于控制行或列,跟其他不一样的是,axis=0 (默认)表示操作行,axis=1 表示操作列。
    how 参数可选的值为 any(默认) 或者 all。any 表示一行/列有任意元素为空时即丢弃,all 一行/列所有值都为空时才丢弃。
    subset 参数表示删除时只考虑的索引或列名。
    thresh参数的类型为整数,它的作用是,比如 thresh=3,会在一行/列中至少有 3 个非空值时将其保留。

    df = data.dropna(axis=0,how='all')  #data不会改变
    print(df)
      a    b    c   d
    0  1.0    a  NaN NaN
    1  2.0    b  0.0 NaN
    2  4.0  NaN  4.0 NaN
    4  7.0    d  NaN NaN
    5  9.0    e  5.0 NaN
    
    df = data.dropna(axis=0,how='any')  #data不会改变
    print(df)
    out:
    Empty DataFrame
    Columns: [a, b, c, d]
    Index: []
    
    df = data.dropna(axis=0,how='any',subset=["b"]) #subset 只考虑的行或列
    print(df)
    

    对列操作将axis换为1

    缺失值补充

    最常见的是使用 fillna 完成填充。
    data.fillna(0)

    除了可以使用标量来填充之外,还可以使用前一个或后一个有效值来填充。
    设置参数 method=‘pad’ 或 method=‘ffill’ 可以使用前一个有效值来填充。
    设置参数 method=‘bfill’ 或 method=‘backfill’ 可以使用后一个有效值来填充。

    除了通过 fillna 方法来填充缺失值外,还可以通过 interpolate 方法来填充。默认情况下使用线性差值,可以是设置 method 参数来改变方式。

    缺失值替换

    None、np.nan、NaT 这些都是缺失值。这些在 Pandas 的眼中是缺失值,有时候在我们人类的眼中,某些异常值我们也会当做缺失值来处理。

    例如,在我们的存储的用户信息中,假定我们限定用户都是青年,出现了年龄为 40 的,我们就可以认为这是一个异常值。再比如,我们都知道性别分为男性(male)和女性(female),在记录用户性别的时候,对于未知的用户性别都记为了 “unknown”,很明显,我们也可以认为“unknown”是缺失值。此外,有的时候会出现空白字符串,这些也可以认为是缺失值。

    对于上面的这种情况,我们可以使用 replace 方法来替换缺失值。

    user_info.replace({“age”: 40, “birth”: pd.Timestamp(“1978-08-08”)}, np.nan) #将年龄40替换 日期为1978-08-08也替换

    也可采用正则表达式替换
    user_info.city.replace(r’\s+’, np.nan, regex=True)

    参考:https://blog.csdn.net/caowenyi88/article/details/80865551

    展开全文
  • datsframe缺失值处理

    2019-02-25 16:36:03
    1, df.isnull().sum() 输出dataFrame中每一列...默认删除含有缺失值的行,即只要该行有缺失值就把这一行删除,返回删除后的数据 df.dropna(how=‘all’) 只删除一整行都为空值的行,不全为空值的行不会被删除 ...

    1,缺失值查看 df.isnull().sum()
    输出dataFrame中每一列缺失值数量

    2, 删除缺失值 df.dropna()
    默认删除含有缺失值的行,即只要该行有缺失值就把这一行删除,返回删除后的数据
    df.dropna(how=‘all’)
    只删除一整行都为空值的行,不全为空值的行不会被删除

    3,缺失值填充 df.fillna()
    (1)可以用哪些值填充呢?
    0,均值,众数,向前填充(缺失值的前一个非缺失值),向后填充(缺失值的后一个非缺失值)
    (2) 填充方式
    df.fillna(0) ,所有缺失值都用0填充
    df.fillna({‘年龄’:‘40’}), 只对‘年龄’这一列缺失值填充,且均为40
    df.fillna({‘年龄’:‘40’,‘城市’:‘上海’}),同时对多列填充不同的值

    展开全文
  • Pandas 缺失值填充的方法

    千次阅读 2019-11-10 19:32:10
    真实数据往往某些变量会有缺失值。 这里,cabin有超过70%以上的缺失值,我们可以考虑直接丢掉这个变量。 – 删除某一列数据 像Age这样的重要变量,有20%左右的缺失值,我们可以考虑用中位值来填补。-- 填补缺失值 ...

    直接用代码来展示[基于泰坦尼克数据]

    • 真实数据往往某些变量会有缺失值。
    • 这里,cabin有超过70%以上的缺失值,我们可以考虑直接丢掉这个变量。 – 删除某一列数据
    • 像Age这样的重要变量,有20%左右的缺失值,我们可以考虑用中位值来填补。-- 填补缺失值
    • 我们一般不提倡去掉带有缺失值的行,因为其他非缺失的变量可能提供有用的信息。-- 删除带缺失值的行

    普通的方法(直接根据所需要的值来进行填充)

    # 重新载入原始数据
    titanic_df=pd.read_csv("titanic.csv")
    
    # 计算所有人年龄的均值
    age_median1 = titanic_df.Age.median()
    
    # 使用fillna填充缺失值,inplace=True表示在原数据titanic_df上直接进行修改
    titanic_df.Age.fillna(age_median1, inplace=True)
    
    # 查看Age列的统计值
    titanic_df.Age.describe()
    

    考虑性别因素,分别用男女乘客各自年龄的中位数来填补(需要建立索引)

    titanic_df = pd.read_csv("titanic.csv")
    # 分组计算男女年龄的中位数, 得到一个Series数据,索引为Sex
    age_median2 = titanic_df.groupby("Sex").Age.median()
    # 设置索引为Sex
    titanic_df.set_index("Sex",inplace=True)
    # 使用fillna填充缺失值,根据索引值填充
    titanic_df["Age"].fillna(age_median2,inplace=True)
    # 重置索引,即取消Sex索引
    titanic_df.reset_index(inplace=True)
    titanic_df["Age"].describe()
    

    同时考虑性别和舱位因素

    # 重新载入原始数据
    titanic_df=pd.read_csv("titanic.csv")
    
    # 分组计算不同舱位男女年龄的中位数, 得到一个Series数据,索引为Pclass,Sex
    age_median3 = titanic_df.groupby(['Pclass', 'Sex']).Age.median()
    
    # 设置Pclass, Sex为索引, inplace=True表示在原数据titanic_df上直接进行修改
    titanic_df.set_index(['Pclass','Sex'], inplace=True)
    # 使用fillna填充缺失值,根据索引值填充
    titanic_df.Age.fillna(age_median3, inplace=True)
    # 重置索引,即取消Pclass,Sex索引
    titanic_df.reset_index(inplace=True)
    
    # 查看Age列的统计值
    titanic_df.Age.describe()
    
    展开全文
  • 缺失值处理

    千次阅读 2013-09-23 09:38:53
    如果在表格中,某一个数据采集时无法获得,就会出现缺失值,例如在上表中“张三”的性别和“赵六”的年龄就出现了缺失。 缺失值的处理一般有两种方式,一是删除对应的记录,例如在上例中,如果张三的性别没有记录...
  • 一、缺失值处理: 1、缺失值产生的原因 缺失值的产生的原因多种多样,主要分为机械原因和人为原因。机械原因是由于机械原因导致的数据收集或保存的失败造成的数据缺失,比如数据存储的失败,存储器损坏,机械故障...
  • 缺失值需要处理吗

    千次阅读 2019-12-02 16:58:04
    缺失值处理 现实应用中,经常会遇到属性值“缺失”(missing)现象 只使用没有缺失值的样本/属性 ? 》会造成数据的极大浪费 一、在逻辑回归等需要计算综合值时,缺失值需要处理(分箱时用特殊值替换,然后单独分...
  • 缺失值处理方法

    2015-11-03 21:34:07
    很多统计模型都是基于没有缺失值的数据集,然而在实际应用中,总会出现某些原因导致数据的缺失,本文将从三个角度来解决缺失值的问题。首先了解一下处理缺失值的一般步骤:1)识别缺...
  • python 计算缺失值个数以及缺失率

    千次阅读 2019-10-13 22:51:39
    import os import pandas as pd os.chdir(r"D:\pycharm程序文件\练习1") data = pd.read_excel("data.xlsx") # 计算表格行列数 ...# 查看某 一/多 列的缺失值isnull() print(data['被保险人年龄...
  • 1 缺失值的处理 1.1 常规缺失值的处理 np.nan,NaN,None,NaT(时间数据类型的缺失值)等 df.isnull() 1.判断每一个df中的数据是否为缺失值,是则返回True,否则返回False 2.可以利用True为1,False为0的特性,sum()即为...
  • 机器学习中缺失值处理

    千次阅读 2019-09-14 21:47:26
    机器学习中缺失值处理 当我们拿到一批数据的时候,往往都是“不干净”的,而缺失值是最常见也是最容易发现的。不同的缺失值处理方式对接下来的特征提取,建模等都有巨大影响。那么缺失值的处理是有一套流程的,我在...
  • sklearn 数据填补缺失值

    千次阅读 2020-01-17 00:32:44
    很多特征,对于分析和建模来说意义非凡,但对于实 际收集数据的人却不是如此,因此数据挖掘之中,常常会有重要的字段缺失值很多,但又不能舍弃字段的情况。因 此,数据预处理中非常重要的一项就是处理缺失值。 从...
  • 数据清洗---缺失值处理

    万次阅读 2017-10-14 21:59:08
    数据清洗---缺失值处理
  • 缺失值处理缺失值寻找空值数据统计空缺值丢弃缺失值填充缺失值固定值填充   博客文章内需要的文件: 文件   大家在学习这一部分后,下载文件后,先将文件导入 import numpy as np import pandas as pd grade =...
  • 处理缺失值

    2019-06-28 08:59:35
    > #例如leadership中有一个年龄为99的异常值,可以把这个异常值重编码为缺失值,列子 > leadership$age[leadership$age == 99] [1] 99 > leadership$age[leadership$age == 99] > leadership$age [1] 32 45 25 39 ...
  • 学会用KNNImputer来填补数据中的缺失值 了解缺失值及其类型 介绍 scikit learn公司的KNNImputer是一种广泛使用的缺失值插补方法。它被广泛认为是传统插补技术的替代品。 在当今世界,数据是从许多来源收集的,...
  • Pandas知识点-缺失值处理

    千次阅读 2021-05-06 22:22:16
    Pandas知识点-缺失值处理
  • day 6 缺失值处理

    2020-03-31 11:11:27
    import pandas as pd from sklearn.impute import SimpleImputer # 专门补缺的类 from sklearn.preprocessing import LabelEncoder # 标签...data = pd.read_csv('缺失预处理数据22222.csv', index_col=0) # 把第0列...
  • 数据挖掘-处理缺失值

    千次阅读 2017-12-07 12:44:41
    为什么需要处理缺失值呢?训练数据集中缺少的数据可以减少模型的拟合,或者可能导致模型偏差,因为没有正确地分析变量的行为和关系,可能导致错误的预测或分类。 注意上图中缺失值:在左侧的情况下,没有处理缺失...
  • 机器学习中处理缺失值的9种方法

    千次阅读 2020-10-31 11:01:04
    我们不能对包含缺失值的数据进行分析或训练机器学习模型。这就是为什么我们90%的时间都花在数据预处理上的主要原因。我们可以使用许多技术来处理丢失的数据。在这个文章中,我将分享处理数据缺失的9种方法,但首先让...
  • import pandas as pd什么是缺失值 在了解缺失值(也叫控制)如何处理之前,首先要知道的就是什么是缺失值?直观上理解,缺失值表示的是“缺失的数据”。可以思考一个问题:是什么原因造成的缺失值呢?其实有很多...
  • 缺失值的类型 首先对数据的变量(特征)按照缺失和不缺失进行分类:不含有缺失值的变量称为完全变量,含有缺失值的变量称为非完全变量。 缺失值的类型分为三种:完全随机缺失,随机缺失和非随机缺失。 完全随机...
  • 缺失值处理1)删除删除法是指将缺失值所在的观测行删除(前提是缺失行的比例非常低,如5%以内);或者删除缺失值所对应的变量(前提是该变量中包含的缺失值比例非常高,如70%左右);2)替换直接利用缺失变量的均值...
  • 1.缺失值 缺失值就是比赛提供的数据,发现有些单元格是null或空的。 1、缺失太多:例如调查人口信息,发现“年龄”这一项缺失了40%,就直接把该项指标删除 2、最简单处理:均值、众数插补 定量数据,例如关于...
  • 缺失值处理二 一: 删除法 对于缺失值,一般不会直接进行删除,因为删除过多影响数据分析,所以会对其进行第二中操作,补齐 二: 填补法( 一般适用于 元素 为 float 或者 int的数据) 1. 均值或 中位数 补齐法: df....
  • 【问题一】 如何删除缺失值占比超过25%的列? 【问题二】 什么是Nullable类型?请谈谈为什么要引入这个设计? 【问题三】 对于一份有缺失值的数据,可以采取哪些策略或方法深化对它的了解? 练习 【练习一】现有一份...
  • Pandas中的缺失值处理

    2019-09-26 19:09:19
    这些数据不管就好了,有的数据虽然没有,但是也可以根据一些数据推算出来这个数据是多少然后给它填上,但是有的数据缺失是随机缺失的完全不知道应该怎么处理,所以呢今天我就带大家了解一下数据中的缺失值以及如何对缺失...
  • 缺失值处理 真实数据往往某些变量会有缺失值。 首先,我们用 info( ) 语句操作,看到整份数据的大概情况: ...比如年龄Age这一列,有714个非空数值,就有 891-714=177 个缺失值。又比如船舱号码 cabin,缺失值...
  • 文章目录1.查看缺失值2.删除缺失值3.填充缺失值4.值的替换5.离散化与分箱6....之前我们介绍过通过索引获取自己想要的...isnull 和 isna 可以获取 返回缺失值 的布尔值,为True则表示缺失值,False则表示非缺失值 notnull

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,616
精华内容 5,046
关键字:

年龄的缺失值