Pandas 如何传递NAN值?
简单地说,有没有办法忽略NAN值,而不是替换其他值或删除 我导入了一个excel文件作为数据框,其中列中有Nan值。 此列包含IP地址,如下所示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
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(),但是出现了另一个问题:(,非常感谢:)