有一个数据集,其中一列包含一些缺失值。我想生成一个新列,如果缺少前一列的单元格,则将新列分配为1,否则为0.
我试过
df[newcolumn] = map(lamba x: 1 if x is None else 0, df[formercolumn])
但它不起作用。
虽然
df[newcolunm] = df[formercolunms].isnull().apply(lambda x: 1 if x is True else 0)
运作良好。
对这种情况有更好的解决方案吗?
答案 0 :(得分:1)
使用np.where
:
df['newcolumns'] = np.where(df.formercolumns.isnull(),0,1)
答案 1 :(得分:1)
我使用numpy
进行以下操作,这与您的解决方案非常相似,但略短/更快
df[newcolunm] = df[formercolunms].apply(lambda x: 0 if np.isnan(x) else 1)
然而,我认为斯科特的答案更好/更快。