You need to enable JavaScript to run this app. 如何单行嵌套双层for循环生成指定结构的pandas DataFrame
优惠活动
大模型
产品
解决方案
定价
更多

如何单行嵌套双层for循环生成指定结构的pandas DataFrame

你需要的单行嵌套双层for循环实现代码如下:

import pandas as pd

# 原有求和函数
def sum(a,b):
   s = a+b
   return s

# 单行生成目标DataFrame
df = pd.DataFrame([(a, b, sum(a,b)) for a in range(1,10) for b in range(100,200)], columns=['A', 'B', 'Sum'])

上述写法的逻辑和你写的普通双层for循环完全一致:列表推导式中外层循环写在靠前位置,内层循环写在靠后位置,每次迭代返回包含A值、B值、求和结果的三元组,即可生成所有A、B值两两匹配的笛卡尔积结构,完全符合你需要的输出格式。

如果数据量级较大,更推荐使用pandas原生的笛卡尔积实现,性能优于列表推导式循环:

df_a = pd.DataFrame({'A': range(1,10)})
df_b = pd.DataFrame({'B': range(100,200)})
df = df_a.merge(df_b, how='cross')
df['Sum'] = df['A'] + df['B']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 09:24:05