pandas用均值填充nan_pandas DataFrame:用列的平均值替换nan值

小编典典

你可以直接使用DataFrame.fillna来nan直接填充:

In [27]: df

Out[27]:

A B C

0 -0.166919 0.979728 -0.632955

1 -0.297953 -0.912674 -1.365463

2 -0.120211 -0.540679 -0.680481

3 NaN -2.027325 1.533582

4 NaN NaN 0.461821

5 -0.788073 NaN NaN

6 -0.916080 -0.612343 NaN

7 -0.887858 1.033826 NaN

8 1.948430 1.025011 -2.982224

9 0.019698 -0.795876 -0.046431

In [28]: df.mean()

Out[28]:

A -0.151121

B -0.231291

C -0.530307

dtype: float64

In [29]: df.fillna(df.mean())

Out[29]:

A B C

0 -0.166919 0.979728 -0.632955

1 -0.297953 -0.912674 -1.365463

2 -0.120211 -0.540679 -0.680481

3 -0.151121 -2.027325 1.533582

4 -0.151121 -0.231291 0.461821

5 -0.788073 -0.231291 -0.530307

6 -0.916080 -0.612343 -0.530307

7 -0.887858 1.033826 -0.530307

8 1.948430 1.025011 -2.982224

9 0.019698 -0.795876 -0.046431

的文档字符串fillna说,value应该是一个标量或快译通,但是,它似乎工作用Series为好。如果你想通过字典,可以使用df.mean().to_dict()。

2020-02-23

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值