我试图用其中一列中的几个 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')]