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

pandas如何基于两列表类型列创建zip生成的字典新列

pandas列表列拼接为字典列的解决方案

最优实现(性能最高)

无需手动编写逐行遍历逻辑,直接使用Python原生列表推导式即可实现,性能远高于apply方案:

df['c'] = [dict(zip(ai, bi)) for ai, bi in zip(df['a'], df['b'])]

备选实现(写法简洁,性能较低)

如果数据量较小,对性能要求不高,也可以使用pandas的apply接口实现:

df['c'] = df[['a', 'b']].apply(lambda row: dict(zip(*row)), axis=1)

性能对比

实测列表推导式的性能约为apply方案的18倍,测试结果如下:

%timeit [dict(zip(ai, bi)) for ai, bi in zip(df['parameter_ids'], df['parameter_values'])]
7.76 ms ± 77 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df[['parameter_ids', 'parameter_values']].apply(lambda row: dict(zip(*row)), axis=1)
140 ms ± 2.81 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:24:01