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

如何合并pandas DataFrame与Series且合并结果无NaN值

实现方案

方案1:使用assign方法(最简洁,不修改原DataFrame)

直接对Series解包作为assign的参数,pandas会自动将标量值广播到所有行:

result = df1.assign(**s1)

该方案代码量最少,返回新的DataFrame,不会改动原有的df1,适合绝大多数场景。

方案2:直接遍历赋值(会修改原DataFrame)

如果允许修改原有df1,可以直接遍历Series的键值对给DataFrame新增列:

for col_name, value in s1.items():
    df1[col_name] = value
# 此时df1就是合并后的结果

该方案逻辑直观,适合需要直接修改原数据的场景。

方案3:使用concat合并

如果更习惯用拼接逻辑,可以先将Series转为单行DataFrame,再重复行和原DataFrame对齐后拼接:

# 将Series转为单行DataFrame,重复和df1行数一致的次数
s_df = s1.to_frame().T.reindex(df1.index, method="ffill")
result = pd.concat([df1, s_df], axis=1)

该方案适合后续需要扩展拼接逻辑的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:06:05