Python如何创建新列标记指定现有列中的NaN值所在单元格
你可以直接用pandas内置的isna()方法实现需求,示例代码如下:
import pandas as pd # 假设你已将原始数据读取为DataFrame对象df df['y1_nan'] = df['year_1'].isna().astype(int) df['y2_nan'] = df['year_2'].isna().astype(int)
原理是isna()会对每个单元格判断是否为NaN,返回布尔值True/False,用astype(int)转换类型时,布尔值会自动对应转换为1和0,刚好匹配你需要的标记规则。
如果后续需要处理的列较多,也可以用循环批量生成标记列,不用逐行手写:
for col_name in ['year_1', 'year_2']: df[f'{col_name}_nan'] = df[col_name].isna().astype(int)
内容的提问来源于stack exchange,提问作者pip
相关产品推荐
相关产品推荐

