Pandas 如何传递NAN值?

Pandas 如何传递NAN值?,pandas,nan,Pandas,Nan,简单地说,有没有办法忽略NAN值,而不是替换其他值或删除 我导入了一个excel文件作为数据框,其中列中有Nan值。 此列包含IP地址,如下所示 IP地址 10.10.10.10 20.20.20.20 空白(NAN) 30.30.30.30 空白(NAN) 当我使用socket.getfqdn()来了解IP地址的主机名时,但当它面对NAN值时,会出现一条错误消息,AttributeError:“float”对象没有属性“strip” 我想做下面的事 如果data.iloc[a,0]=NAN

简单地说,有没有办法忽略NAN值,而不是替换其他值或删除

我导入了一个excel文件作为数据框,其中列中有Nan值。 此列包含IP地址,如下所示

IP地址
10.10.10.10
20.20.20.20
空白(NAN)
30.30.30.30
空白(NAN)
当我使用
socket.getfqdn()
来了解IP地址的主机名时,但当它面对NAN值时,会出现一条错误消息,AttributeError:“float”对象没有属性“strip”

我想做下面的事

如果data.iloc[a,0]=NAN
a+=1
有没有办法做到这一点? 我附上了我的代码,以防万一

import pandas as pd
import socket

a = 0

data = pd.read_excel("ipaddress.xlsx")
last_raw_no = len(data) - 1
print('\n excel file reading is done')

while True:

    hostname = socket.getfqdn(data.iloc[a, 0])
    data.loc[a, 'Dst Name'] = hostname
    print(data.iloc[a, 0], '---', data.iloc[a, 1])

    if a == last_raw_no :
        break

    else :
        a+=1
谢谢

如果x是NaN(不是数字),则返回True,否则返回False

导入数学
如果math.isnan(data.iloc[a,0]):
a+=1
您可能还希望在开始之前检查值的类型

从数字导入实数
输入数学
如果isinstance(data.iloc[a,0],Real)和math.isnan(data.iloc[a,0]):
a+=1

由于您已经在使用pandas,
pd.isna()
可能是更好的选择

如果pd.isna(data.iloc[a,0]):
a+=1
成功了!!我使用pd.isna(),但是出现了另一个问题:(,非常感谢:)