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

pandas如何将列表元素依次填充到DataFrame指定列

问题说明

现有初始结构的DataFrame:
初始DataFrame示例
需要将列表[6,7,6]的元素按顺序依次填充到DataFrame的one、Two、Four列,不对three列做任何修改,最终效果如下:
目标DataFrame示例

实现代码

首先构造和示例一致的测试DataFrame方便复现:

import pandas as pd
import numpy as np

# 初始化示例DataFrame
df = pd.DataFrame({
    'one': [np.nan]*4,
    'Two': [np.nan]*4,
    'three': [0.0, 0.5, 1.0, 1.5],
    'Four': [np.nan]*4
})

核心填充逻辑,两种写法均可实现目标效果:

写法1:直接列选广播赋值(最简洁)

# 列顺序必须和填充值列表顺序严格一一对应
fill_cols = ['one', 'Two', 'Four']
fill_vals = [6, 7, 6]

df[fill_cols] = [fill_vals]

写法2:循环批量赋值(可读性更高)

fill_cols = ['one', 'Two', 'Four']
fill_vals = [6, 7, 6]

for col, val in zip(fill_cols, fill_vals):
    df[col] = val

注意:fill_cols的列顺序必须和fill_vals的值顺序完全匹配,否则会出现值填充错位的问题。未列入fill_cols的字段(如本次的three列)会保留原有所有数据,不会被修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.17 16:16:01