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

如何将指定键值对格式数组按规则填充到pandas DataFrame对应列

pandas逐行分组填充数据实现方案

原代码问题

你原有代码的问题在于直接用df[colum] = value赋值,该操作会覆盖对应列的所有行值,既不会自动新增行,也无法实现遇到a开启新行的分组填充逻辑。

正确实现代码

import pandas as pd

# 初始化原始数据
data = ["a:42","b:43","c:22","d:41","a:21","b:14","c:12","e:14","f:7","a:0","d:1","f:3","a:6","b:0","c:9","g:8"]
# 存储所有行的列表
rows = []
# 存储当前正在填充的行
current_row = {}

for item in data:
    key, val = item.split(":")
    # 遇到键为a的元素时,先存储上一行,再初始化新行
    if key == "a":
        if current_row:
            rows.append(current_row)
        current_row = {"a": int(val)}
    else:
        # 非a的键值对直接填充到当前行
        current_row[key] = int(val)
# 遍历结束后把最后一行加入列表
rows.append(current_row)

# 转换为DataFrame,指定列顺序,缺失值自动填充为NaN
df = pd.DataFrame(rows, columns=["a","b","c","d","e","f","g"])

输出验证

打印df即可得到你期望的结果,所有空缺位置自动填充NaN,数值为整型,列顺序和要求完全一致。

内容的提问来源于stack exchange,提问作者Armando Jose Serrano Escalona

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 04:09:03