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

>>>

你可能感兴趣的:(NLP,语言工具,python,pandas,开发语言)