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

如何在Pandas中为DataFrame新增序号列表列与键值字典列

实现方法

完整代码

import pandas as pd

# 初始化原始DataFrame
df = pd.DataFrame(
    [["X", ["A", "B", "C", "D"]], ["Y", ["E", "F", "G"]], ["Z", ["H", "I", "J", "K", "L"]]],
    columns=["type", "id"]
)

# 新增id_len列:生成从1开始的序号列表
df['id_len'] = df['id'].apply(lambda x: list(range(1, len(x)+1)))

# 新增id_dict列:生成序号与对应id元素的字典
df['id_dict'] = df.apply(lambda row: dict(zip(row['id_len'], row['id'])), axis=1)

# 查看结果
print(df)

代码说明

  • id_len列生成:通过apply遍历id列的每个列表,用range(1, len(x)+1)生成从1到列表长度的整数序列,再转为列表,刚好匹配每个元素从1开始的序号。
  • id_dict列生成:指定axis=1对每一行处理,用zip将id_len和id的元素一一配对,再通过dict()转换为键值对字典。

输出结果

typeidid_lenid_dict
X['A', 'B', 'C', 'D'][1, 2, 3, 4]{1: 'A', 2: 'B', 3: 'C', 4: 'D'}
Y['E', 'F', 'G'][1, 2, 3]{1: 'E', 2: 'F', 3: 'G'}
Z['H', 'I', 'J', 'K', 'L'][1,2,3,4,5]{1: 'H', 2: 'I', 3: 'J', 4: 'K', 5: 'L'}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:01:03