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

如何用指定列表批量覆盖Pandas DataFrame的多列值?

为Pandas DataFrame多列批量填充不同固定值的简便方法

有两种简洁的实现方式,可根据场景选择:

方法一:直接列赋值(最简洁)

当overwrite列表的元素顺序与DataFrame的列顺序完全对应时,直接给所有列批量赋值即可:

import pandas as pd

# 构造原始DataFrame
data = {'A': [1, 5, 4], 'B': ['dog', 'cat', 'moose'], 'C': ['red', 'yellow', 'blue']}
df = pd.DataFrame(data)

overwrite = [0, 'cat', 'orange']

# 执行批量覆盖
df[df.columns] = overwrite

执行后得到目标结果:

A    B      C
0  0  cat  orange
1  0  cat  orange
2  0  cat  orange

方法二:使用assign方法(保留原DataFrame)

如果需要保留原始数据,或者想更清晰地映射列与值的对应关系,可通过zip将列名和overwrite元素配对为字典,再用assign生成新的DataFrame:

new_df = df.assign(**dict(zip(df.columns, overwrite)))

该方式不会修改原df,结果会存储在新变量new_df中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:40:26