如何在 Dato SFrames 中对 nan/inf 值进行子集化

How to subset nan/inf values in Dato SFrames

我正在尝试使用其中一列中的几个 nan/inf 值对大型数据框的一列进行子集化。

我试过像这样的东西。

df = df[df['a'] == 'NaN']

df = df[df['a'] == 'Inf']

如何在列中引用这些类型的值?

你知道它是一个字典,所以你不能使用理解,但你可以迭代:

subset = {}

for d in df:
   if d['a']=='Nan':
         subset.update(d)

print subset

NaN 是一个特殊值。它不等于任何东西,甚至不等于它自己。这是按 NaN 过滤的一种方法:

import math
df = df[df['a'].apply(lambda x: math.isnan(x))]

Inf 比较简单:

df = df[df['a'] == float('inf')]