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

Pandas拼接姓名字段时某字段为空返回空白结果如何解决

解决方案

问题原因

pandas 中默认使用+运算符拼接字符串时,只要参与运算的任意一个值为 NaN,最终结果就会返回 NaN,这是你当前拼接后出现空值的核心原因。

适配 Pandas 1.3.4 可用的修改方案

你可以使用 pandas 内置的str.cat()方法实现带空值的安全拼接,该方法会自动跳过空值且不会生成多余空格,完全适配你使用的版本。
修改后完整代码如下:

import pandas as pd

df = pd.read_csv('file.csv', dtype=str, header=0)

# 核心修改行:用str.cat拼接,指定分隔符为空格,空值替换为空字符串
df["Full name"] = df["First name"].str.cat(df["Last Name"], sep=" ", na_rep="")

df.to_csv('file.csv', index=False)

可选替代写法

如果你更习惯先处理空值再拼接,可以用如下逻辑更直观的写法:

import pandas as pd

df = pd.read_csv('file.csv', dtype=str, header=0)

# 先把两列的空值替换为空字符串
df["First name"] = df["First name"].fillna("")
df["Last Name"] = df["Last Name"].fillna("")
# 拼接后用strip去掉首尾多余的空格
df["Full name"] = (df["First name"] + " " + df["Last Name"]).str.strip()

df.to_csv('file.csv', index=False)

两种方法最终输出的Full name列都完全符合你给出的预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:36:03