python
主页 > 脚本 > python >

Pandas库中isnull函数的实现

2024-07-22 | 佚名 | 点击:

一、简介

isnull()是Pandas库中DataFrame和Series对象的一个函数,用于检测数据中的缺失值。它返回一个布尔类型的DataFrame或Series,其中True表示该位置的值是缺失的(NaN或None),False表示该位置的值不是缺失的。

二、语法和参数

1

DataFrame.isnull()

isnull()函数没有参数。它直接应用于DataFrame或Series对象。

三、实例

3.1 基本使用

代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import pandas as pd

import numpy as np

 

# 创建一个包含NaN和None的DataFrame

df = pd.DataFrame({

    'A': [1, np.nan, 3, None],

    'B': [4, 5, np.nan, 7],

    'C': [8, 9, 10, 11]

})

 

print("原始DataFrame:")

print(df)

 

print("\n使用isnull()后的结果:")

print(df.isnull())

输出:

原始DataFrame:
     A    B   C
0  1.0  4.0   8
1  NaN  5.0   9
2  3.0  NaN  10
3  NaN  7.0  11

使用isnull()后的结果:
       A      B      C
0  False  False  False
1   True  False  False
2  False   True  False
3   True  False  False

3.2 与sum()函数结合使用

代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

import pandas as pd

import numpy as np

 

df = pd.DataFrame({

    'A': [1, np.nan, 3, None],

    'B': [4, 5, np.nan, 7],

    'C': [8, 9, 10, 11]

})

 

print("每列缺失值的数量:")

print(df.isnull().sum())

 

print("\n每行缺失值的数量:")

print(df.isnull().sum(axis=1))

输出:

每列缺失值的数量:
A    2
B    1
C    0
dtype: int64

每行缺失值的数量:
0    0
1    1
2    1
3    1
dtype: int64

3.3 与布尔索引结合使用

代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

import pandas as pd

import numpy as np

 

df = pd.DataFrame({

    'A': [1, np.nan, 3, None],

    'B': [4, 5, np.nan, 7],

    'C': [8, 9, 10, 11]

})

 

print("原始DataFrame:")

print(df)

 

print("\n含有缺失值的行:")

print(df[df.isnull().any(axis=1)])

 

print("\n所有值都不缺失的行:")

print(df[df.notnull().all(axis=1)])

输出:

原始DataFrame:
     A    B   C
0  1.0  4.0   8
1  NaN  5.0   9
2  3.0  NaN  10
3  NaN  7.0  11

含有缺失值的行:
     A    B   C
1  NaN  5.0   9
2  3.0  NaN  10
3  NaN  7.0  11

所有值都不缺失的行:
     A    B  C
0  1.0  4.0  8

四、注意事项

原文链接:
相关文章
最新更新