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

如何合并DataFrame中同名'mobilephone'列,填充空值并保留单列?

合并同名列并填充空值的解决方案

针对你有两列均名为mobilephone的DataFrame,且每行至少有一列存在手机号的情况,可以用以下方法合并为一列:

步骤1:构造示例数据(仅用于复现场景,实际可跳过)

import pandas as pd
import numpy as np

data = {
    'mobilephone': ['999000111', '999000222', np.nan, '999000444'],
    'mobilephone': ['999000111', np.nan, '999000333', '999000444']
}
df = pd.DataFrame(data)

步骤2:合并并填充空值

有两种简洁的实现方式:

方式一:使用combine_first(推荐,逻辑清晰)

利用combine_first方法,用第二列的非空值填充第一列的空值,最终保留合并后的单列:

# 提取两列同名列,用第二列填充第一列空值后保留单列
df['mobilephone'] = df['mobilephone'].iloc[:, 0].combine_first(df['mobilephone'].iloc[:, 1])

方式二:使用fillna按行填充

通过fillna的bfill(向后填充)方法,按行将第一列的空值替换为第二列的对应值,再取第一列作为结果:

df['mobilephone'] = df['mobilephone'].fillna(axis=1, method='bfill').iloc[:, 0]

验证结果

执行上述代码后,打印DataFrame会得到合并后的结果:

mobilephone
0    999000111
1    999000222
2    999000333
3    999000444

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:20:33