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

如何简洁地将Pandas Series追加到DataFrame每行末尾并生成新列?

解决方法

给你几个简洁的办法实现需求:

方法1:使用df.assign()

这是最简洁的方式之一,直接把Series拆成关键字参数传给assign,一次性添加所有新列:

import pandas as pd

# 示例数据
df = pd.DataFrame({'col1': [1, 2, 3], 'col2': [4, 5, 6]})
ser = pd.Series({'new_col_A': 10, 'new_col_B': 20, 'new_col_C': 30})

# 一次性添加所有列
df = df.assign(**ser)

方法2:转成单行DataFrame后拼接

把Series转换成单行的DataFrame,再和原DataFrame按列拼接,自动将单行值广播到所有行:

# 将Series转为单行DataFrame
ser_single_row = ser.to_frame().T
# 按列拼接,自动对齐索引并重复单行内容
df = pd.concat([df, ser_single_row.reindex(df.index)], axis=1)

方法3:直接批量赋值列

利用Pandas的广播特性,直接给DataFrame添加Series索引对应的列,并赋值Series的值,会自动把值填充到每一行:

df[ser.index] = ser.values

这三种方法都能替代逐列赋值的繁琐操作,根据自己的习惯选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:21:42