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

本文介绍了在Python数据分析中如何便捷地查找并处理DataFrame中的空值。通过创建一个包含空值的DataFrame实例,展示了使用isnull()、isna()和np.isnan()方法检查空值,以及统计空值数量、定位空值所在行的方法。这些技巧对于处理大规模数据集时查找和处理空值非常实用。
摘要由CSDN通过智能技术生成

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个空值:

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(),这三种方法可以说是等效的,大家可以结合不同的目的来选取自己喜欢的一种来使用就行!

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君子以自强不息python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值