如何检查值是nan还是列表?

时间:2019-03-12 09:15:44

标签: python pandas numpy pd

我目前正在使用熊猫数据框。 在对其进行迭代时,我要检查值是numpy.nan还是列表。

for i, row in df.iterrows():
value = row["Name"]
if pd.isnull(value):
    dosomething()

这很好,除非

type(value) == list

然后我想到了可能要放置any():

for i, row in df.iterrows():
value = row["Name"]
if any(pd.isnull(value)):
    dosomething()

但是现在,每当NaN值生效时,我都会得到一个例外,因为它显然不可迭代。

有没有比检查值类型更好的解决方案了?

非常感谢!

1 个答案:

答案 0 :(得分:2)

使用or

for i, row in df.iterrows():
    value = row["Name"]
    if pd.isnull(value) or (type(value) == list):
        dosomething()

另一种检查方式是isinstance

for i, row in df.iterrows():
    value = row["Name"]
    if pd.isnull(value) or isinstance(value, list):
        dosomething()