python金融分析小知识(5)——如何查看DataFrame中的空值

Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助!

在平时的数据分析当中,我们会经常遇到读入的数据存在空值的情况,面对庞大的数据量,我们不可能一个一个地去找空值,那么有没有比较方便的办法能够让我们快速找到DataFrame中的空值呢?答案是有的

下面我通过举例子来说明:

首先我们构建一个包含空值的DataFrame,代码如下:

import pandas as pd
import numpy as np
df = pd.DataFrame({
    "身高":[170,171,167,189,np.nan],
    "体重":[65,66,68,np.nan,np.nan],
    "视力":[4.0,3.8,5.0,np.nan,np.nan]
})

让我们打印一下这个DataFrame,得到结果:

    身高    体重    视力
0   170.0   65.0    4.0
1   171.0   66.0    3.8
2   167.0   68.0    5.0
3   189.0   NaN     NaN
4   NaN     NaN     NaN

我们可以很明显地看到空值NaN的存在,下面我们通过几种方式来查看空值:

1.通过bool值结果来查看空值

df.isnull()
或者
df.isna()

#或者
np.isnan(df)

这两行代码的结果是一样的,我们基本可以说 isnull()和isna()在使用中是等效的,得到的结果如下,其中False代表不是空值,True代表是空值:

    身高  体重  视力
0   False   False   False
1   False   False   False
2   False   False   False
3   False   True    True
4   True    True    True

2.统计每一列空值的个数

df.isnull().sum()
或者
df.isna().sum()

或者
np.isnan(df).sum()

返回的结果是每一列空值的数量,结果如下,即身高列有1个空值,体重和视力列各有两个空值:

身高    1
体重    2
视力    2
dtype: int64

3.只统计一列的空值个数

如果你只想得到一列数据中的空值的数量,那么你可以通过以下的代码来实现:

df['身高'].isnull().sum()
或者
df['身高'].isna().sum()

或者
np.isnan(df['身高']).sum()

返回的结果如下,也就是说身高列有1个空值:

4.查看某列含有空值所在的整行

df[df['体重'].isnull()]
或者
df[df['体重'].isna()]

#或者
df[np.isnan(df['体重'])]

打印结果如下:

    身高  体重  视力
3   189.0   NaN     NaN
4   NaN     NaN     NaN

5.查看整个DataFrame中有空值的行

df[df.isnull().any(axis=1)]  ##axis=1代表水平方向,axis=0代表竖向
或者
df[df.isna().any(axis=1)]

#或者
df[np.isnan(df).any(axis=1)]

打印结果如下:

    身高  体重  视力
3   189.0   NaN     NaN
4   NaN     NaN     NaN

总结:在查看空值的时候有三种方法可以实现也就是isnull()、isna()以及np.isnan(),这三种方法可以说是等效的,大家可以结合不同的目的来选取自己喜欢的一种来使用就行!

今天的文章就分享到这里啦!

Original: https://blog.csdn.net/qq_41281698/article/details/124570002
Author: 君子以自强不息python
Title: python金融分析小知识(5)——如何查看DataFrame中的空值

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/737827/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球