Как я могу проверить, является ли значение nan или список? - PullRequest
0 голосов
/ 12 марта 2019

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

2 голосов
/ 12 марта 2019

Использование 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()
...