我想知道是否有一个本地方法来跳过lambda函数中的nans。我在下面的表格中有数据框'y'。我试图将Year列变为整数。但由于NaN,lambda函数会中断。我想出了下面的内容,但我想知道是否有更好的方法可以解决这个普遍存在的问题?谢谢!
Year
137 2005
138 NaN
要处理它,我只是使用try / except。我想知道是否有更好的方法来处理NaNs。
def turn_int(x):
try:
return int(x)
except:
return np.nan
y.Year.apply(lambda x: turn_int(x))
int
没有NaN的代表。处理它的正常方法是首先删除所有NaN:
year = y.Year.dropna().astype(int)
我已经为int系列做了这个。
import numpy as np
y['year'] = y['year'].apply(lambda x:x if np.isnan(x) else int(x))