0

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

例如,我尝试过这样的事情。

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

或者

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

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

4

2 回答 2

0

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

subset = {}

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

print subset
于 2016-07-04T00:48:49.987 回答
0

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

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

Inf 更简单一些:

df = df[df['a'] == float('inf')]
于 2016-07-05T05:37:57.697 回答