3

给定一个Graphlab.SFrame具有以下列名称的对象:

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

可以轻松地删除特定列中具有“不适用”(NA)/无值的行,例如删除“分数”列的具有 NA 值的行,我可以这样做:

>>> sf.dropna('Score')

或者用某个值(比如说-1)替换 None 值,我可以这样做:

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

https://dato.com/products/create/docs/generated/graphlab.SFrame.html检查 SFrame 文档后,没有内置函数来查找包含 None 对于某一列的行,一些喜欢sf.findna('Score')。或者我可能错过了它。

如果有这样的功能,它叫什么?

如果没有,我应该如何提取该行中有指定列的行具有 NA 值?

4

1 回答 1

2

我认为您可以使用布尔数组来识别给定列缺少值的行。

>>> 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]
于 2015-12-17T18:25:38.987 回答