从原始列创建标志列集,缺少值时为"1"



抱歉,如果这是一个简单的问题,我正在尝试自己使用python技术。 我有一个熊猫数据帧,其中包含大量缺少值的列。我将为建模部分插补这些值,但我也想看看它们缺失的事实是否重要。

为此,我正在尝试创建第二组二进制列,当列中的观察值为 null 时,这些列为 1,否则为 0。 我的代码如下:

test=train_17
col_names=test.columns.tolist()
for col in col_names:
    for row in test[col]:
        if test[col][row].isnull():
            test[col+"_missing"] = 1
        else:
            test[col+"_missing"] = 0

当我尝试这样做时,我得到一个kKeyError:14297519。在日志中,我还看到以下内容:

tz=getattr(series.dtype, 'tz', None))

有人对我做错了什么有任何想法或建议吗?

该函数isnull适用于整个熊猫。数据帧或熊猫。系列,以便您可以为test[col].isnull()分配新列。

for col in test.columns:
    test[col+"_missing"] = test[col].isnull()

最新更新