Python DataFram 判断是否为nan的两种方法

1、根据是否与自身相等判断是否为nan:

nan是一个代表“不是一个数字”的变量,不代表某一具体值,因此变量nan!=nan,可根据此属性判断某一值是否为nan。

构建一个含有nan的DataFrame:

import numpy as np
import pandas as pd
from numpy import nan

data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'))
data.iloc[0:3,0:3]=nan
print(data)
      0     1     2   3
a   NaN   NaN   NaN   3
b   NaN   NaN   NaN   7
c   NaN   NaN   NaN  11
d  12.0  13.0  14.0  15

遍历每一个元素,若value!=value,则输出:

for row in range(len(data)):
    for col in data.columns:
        if data[col][row]!=data[col][row]:
            print(data[col][row])
nan
nan
nan
nan
nan
nan
nan
nan
nan

2、使用df.fillna(’-’)将nan替换为某一特定内容,再使用是否等于此内容判断初始是否为nan。

将nan的值替换为‘-’:

data2=data.fillna('-')
print(data2)
      0     1     2   3
a     -     -     -   3
b     -     -     -   7
c     -     -     -  11
d  12.0  13.0  14.0  15
for row in data2.index:
    for col in data2.columns:
        if data2[col][row]=='-':
            print(data2[col][row])
-
-
-
-
-
-
-
-
-
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值