Поиск строк со значением «Неприменимо» из определенного столбца из Graphlab SFrame

Дан объект Graphlab.SFrame со следующими именами столбцов:

>>> import graphlab
>>> sf = graphlab.SFrame.read_csv('some.csv')
>>> s.column_names()
['Dataset', 'Domain', 'Score', 'Sent1', 'Sent2']

Можно легко удалить строки со значением «неприменимо» (NA)/None в определенном столбце, например. чтобы удалить строки со значениями NA для столбца «Оценка», я мог бы сделать это:

>>> sf.dropna('Score')

Или, чтобы заменить значение None на определенное значение (скажем, -1), я мог бы сделать это:

>>> sf.fillna('Score', -1)

После проверки документов SFrame с сайта https://dato.com/products/create/docs/generated/graphlab.SFrame.html нет встроенной функции для поиска строк, содержащих None для определенного столбца, например sf.findna('Score'). А может я пропустил.

Если есть такая функция, как она называется?

Если нет, как мне извлечь строки, в которых есть указанный столбец в этой строке со значениями NA?


person alvas    schedule 17.12.2015    source источник


Ответы (1)


Я думаю, вы можете использовать логический массив для идентификации строк с отсутствующими значениями для данного столбца.

>>> import graphlab
>>> sf = graphlab.SFrame({'a': [1, 2, None, 4],
...                       'b': [None, 3, 1, None]})
>>> mask = sf['a'] == None
>>> mask
dtype: int
Rows: 4
[0, 0, 1, 0]
person papayawarrior    schedule 17.12.2015