python pandas利用fillna方法实现部分自动填充功能

今天,学习一下fillna方法。该方法的主要作用是实现对NaN值的填充功能。该方法主要有3个参数,分别是:value,method,limit等。其余参数可以通过调用help函数获取信息。

(1)value

该参数主要是确定填充数值

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

>>> df =pd.read_excel(r'D:/myExcel/1.xlsx')

>>> df

name Chinese Chinese.1 id

0 bob 12.0 12123.0

1millor NaN 32124.0

2jiken 89.0 89NaN

3jiken 89.0 89125.0

# 默认将所有值均填充为0

>>> df.fillna(0)

name Chinese Chinese.1 id

0 bob 12.0 12123.0

1millor 0.0 32124.0

2jiken 89.0 890.0

3jiken 89.0 89125.0

# 也可以通过字典控制每列传什么值

>>> my_dict ={'Chinese': 92, 'id': 98}

>>> df.fillna(my_dict)

name Chinese Chinese.1 id

0 bob 12.0 12123.0

1millor 92.0 32124.0

2jiken 89.0 8998.0

3jiken 89.0 89125.0

2、method参数

该参数主要控制自动填充,是向上填充还是向下填充

method : {‘backfill', ‘bfill', ‘pad', ‘ffill', None}, default None

pad / ffill: 向下自动填充

backfill / bfill: 向上自动填充

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

# 向下

>>> df.fillna(method='ffill')

name Chinese Chinese.1 id

0 bob 12.0 12123.0

1millor 12.0 32124.0

2jiken 89.0 89124.0

3jiken 89.0 89125.0

# 向上

>>> df.fillna(method='bfill')

name Chinese Chinese.1 id

0 bob 12.0 12123.0

1millor 89.0 32124.0

2jiken 89.0 89125.0

3jiken 89.0 89125.0

3、limit参数

该参数类似于mysql中的limit。向上或者向下填充时控制最大填充前几行

1

2

3

4

5

6

7

# 限制自动填充最大填充1行。

>>> df.fillna(method ='bfill', limit=1)

name Chinese Chinese.1 id

0 bob 12.0 12123.0

1millor 89.0 32124.0

2jiken 89.0 89125.0

3jiken 89.0 89125.0

哈哈,以上就是关于fillna方法的介绍。

关于,isna方法很好理解,判断是否为NaN值

1

2

3

4

5

6

7

>>> df.isna()

name Chinese Chinese.1 id

0FalseFalse FalseFalse

1False True FalseFalse

2FalseFalse FalseTrue

3FalseFalse FalseFalse

>>>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值