You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Pandas数据框中A列的NaN值创建新列B?

解决方案

你可以直接使用Pandas内置的方法快速生成所需的布尔列,以下是两种简洁高效的实现方式:

方法1:使用notna()

notna()方法会直接返回对应元素是否为非缺失值的布尔结果,正好匹配你的需求:

import pandas as pd
import numpy as np

# 构造示例数据框
df = pd.DataFrame({'A': [5, 1, np.nan, 12, 13, np.nan, np.nan]})

# 创建新列B
df['B'] = df['A'].notna()

print(df)

运行后输出结果:

AB
05.0True
11.0True
2NaNFalse
312.0True
413.0True
5NaNFalse
6NaNFalse

方法2:使用isna()取反

如果你习惯用isna()判断缺失值,也可以通过取反操作得到相同结果:

df['B'] = ~df['A'].isna()

两种方法效果完全一致,notna()更直观地表达“非缺失值”的判断逻辑,推荐优先使用。

内容的提问来源于stack exchange,提问作者scmdude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 07:24:23