开发者社区> 问答> 正文

如何用全局变量作为apply函数的附加参数处理指定的列?

如何用全局变量作为apply函数的附加参数处理指定的列?

展开
收起
游客y244y7ln2rlpa 2021-12-05 20:16:04 388 0
1 条回答
写回答
取消 提交回答
  • df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/Cars93_miss.csv')
    print(df[['Min.Price', 'Max.Price']].head())
    # 全局变量
    d = {'Min.Price': np.nanmean, 'Max.Price': np.nanmedian}
    # 列名Min.Price的缺失值用平均值代替,Max.Price的缺失值用中值代替
    df[['Min.Price', 'Max.Price']] = df[['Min.Price', 'Max.Price']].apply(lambda x, d: x.fillna(d[x.name](x)), args=(d, ))
    print(df[['Min.Price', 'Max.Price']].head())
    
    #>	   Min.Price  Max.Price
    	0       12.9       18.8
    	1       29.2       38.7
    	2       25.9       32.3
    	3        NaN       44.6
    	4        NaN        NaN
    
    #>	   Min.Price  Max.Price
    	0  12.900000      18.80
    	1  29.200000      38.70
    	2  25.900000      32.30
    	3  17.118605      44.60
    	4  17.118605      19.15
    
    
    2021-12-05 22:22:38
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载