python金融分析小知识

python金融分析小知识,第1张

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/799053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存