如何在 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')]
我正在尝试使用其中一列中的几个 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')]