Pandas删除缺失数据行并在UDF中实现t/f值二进制编码的方法
你可以通过dropna先清除目标列的缺失行,再做编码转换,示例函数如下:
def binary_encoding(df, encode_cols): # 仅删除待编码列包含缺失值的行,避免误删其他列的有效数据 df = df.dropna(subset=encode_cols).copy() # 对指定列做编码映射后转换为int类型 df[encode_cols] = df[encode_cols].replace({"t": 1, "f": 0}).astype(int) return df
使用时把你要处理的4个列名以列表形式传入即可,比如:
# 替换为你实际的4个列名 target_cols = ["列1", "列2", "列3", "列4"] processed_df = binary_encoding(raw_df, target_cols)
如果你的需求是删除全表所有带缺失值的行,把dropna的subset参数去掉即可:df = df.dropna().copy()
内容的提问来源于stack exchange,提问作者DropKick
相关产品推荐
相关产品推荐

