Как я могу проверить, является ли значение nan или список?

В настоящее время я работаю с пантами данных. Итерируя по нему, я хочу проверить, является ли значение 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 ответ

Решение

Использование 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()
Другие вопросы по тегам