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

Pandas如何使用同一行另一列的数值填充空值NA

Pandas列空值替换实现方案

你场景里的空值为空字符串"",不属于Pandas默认识别的NaN缺失值,可通过以下两种方法实现用同行列B的值填充列A空值的需求:

方法1:使用fillna实现(可读性最高,推荐)

先将列A的空字符串转为Pandas缺失值,再用列B的值填充:

import pandas as pd

# 你的示例数据
df = pd.DataFrame({"column A": ["Atlanta", "Atlanta", "New York", "",""], 
                   "column B": ["AT", "AT", "NY", "1", ""]})

# 核心处理逻辑
df['column A'] = df['column A'].replace("", pd.NA).fillna(df['column B'])

如果你的原始数据中列A的空值本身就是NaN而非空字符串,可以直接简化为:

df['column A'] = df['column A'].fillna(df['column B'])

方法2:使用mask条件替换(无需转换缺失值)

直接针对空字符串做条件匹配替换,不需要提前转换缺失值格式:

df['column A'] = df['column A'].mask(df['column A'] == "", df['column B'])

两种方法运行后均符合你给出的预期输出,最后一行因为列B本身为空,所以填充后列A仍然保持为空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:27:02