pandas 面试题挑战十一

作者: 人工智能人话翻译官 | 来源:发表于2019-06-01 23:51 被阅读42次

把DataFrame中'Min.Price', 'Max.Price'缺失的值用该列的均值填充

现有数据如下:

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv')

数据如下:


部分显示

把'Min.Price', 'Max.Price'缺失的值用该列的均值填充
解决方法如下:

df_out = df[['Min.Price', 'Max.Price']] = df[['Min.Price', 'Max.Price']].apply(lambda x: x.fillna(x.mean()))
df_out
部分显示

把DataFrame中'Min.Price', 'Max.Price'缺失的值用该列的均值, 中位数填充

现有数据如下:

df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv')

数据如下:


部分显示

把'Min.Price', 'Max.Price'缺失的值用该列的均值,中位数填充
解决方法如下:

d = {'Min.Price': np.nanmean, 'Max.Price': np.nanmedian}
df[['Min.Price', 'Max.Price']] = df[['Min.Price', 'Max.Price']].apply(lambda x, d : x.fillna(d[x.name](x)), args=(d, ))
df
image.png

重点解读:
df[['Min.Price', 'Max.Price']].apply(lambda x, d : x.fillna(dx.name), args=(d, ))appley中,可以通过args参数传递全局变量,本例中传递的是d,注意传递是元组,所以别忘了后面的“,”。

相关文章

  • pandas 面试题挑战十一

    把DataFrame中'Min.Price', 'Max.Price'缺失的值用该列的均值填充 现有数据如下: 数...

  • pandas 面试题挑战一

    1 查看pandas的版本 解决办法 结果如下 2 如何通过list,numpy array, dict创建ser...

  • pandas 面试题挑战五

    计算两个Series之间的均方误差 现有两个Series如下: 计算两个Series之间的均方误差解决办法: 输出...

  • pandas 面试题挑战四

    13 如何把一个 numpy array 转换成规定形状的 dataframe 现有Series如下 要求转化为7...

  • pandas 面试题挑战六

    从Series的字符串中过滤出email地址 现有Series如下: 解决办法: 结果如下: 重点解读:这题的重点...

  • pandas 面试题挑战九

    按要求导入csv数据,每隔50行数据取一条合并成新的df 输出 重点解读:pd.read_csv中最重要的是chu...

  • pandas 面试题挑战十

    查询df中指定行与列的数据 现有数据如下: 查询最贵的价格,解决方式如下: 输出 查询最贵价格的车,相关的'Man...

  • pandas 面试题挑战二

    6 取出Series 1中独有的数据 现有两个Series, ser1和ser2 如下: 取出在ser1中出现,但...

  • pandas 面试题挑战七

    按照指定要求前向填充元素(ffill forward fill) 构建数据如下: 输出 分别使用前一行/前一列数据...

  • pandas 面试题挑战八

    求两个Series的相关性 现有两个Series如下: 求两个Series的皮尔逊系数 解决方法就是把Series...

网友评论

    本文标题:pandas 面试题挑战十一

    本文链接:https://www.haomeiwen.com/subject/zhvztctx.html