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

如何通过for循环遍历字典并将多次迭代的计算结果存入DataFrame

如何通过for循环遍历字典并将多次迭代的计算结果存入DataFrame

我明白你现在的困惑啦——想循环执行计算5次(n从1到5),每次用当前的n值得到结果,还要结合字典遍历,最后把所有结果整理成DataFrame对吧?我来一步步帮你理清怎么做~

首先,先明确核心逻辑:我们需要循环n=1到5,每次针对对应n个元素的字典完成计算,把每次的结果存起来,最后转成DataFrame。下面是具体的实现步骤和代码示例:

步骤1:准备存储结果的容器

最方便的是用列表来存每次的结果——因为列表的追加操作很灵活,而且如果我们把每次的结果存成小字典,后续转DataFrame会自动把字典的键作为列名,非常省心。

步骤2:循环执行计算(结合字典遍历)

假设你的字典是和当前n对应的(比如n=1时字典有1个元素,n=2时有2个,以此类推),我们可以在每次循环里生成对应的字典,或者调用预先定义好的字典集合。

这里给你一个完整的可运行代码示例:

import pandas as pd

# 初始化空列表,用来存每次循环的结果
results_list = []

# 循环n从1到5(正好5次迭代)
for n in range(1, 6):
    # 生成对应n个元素的示例字典,你可以换成自己的实际字典
    # 比如如果是预先定义好的字典集合,也可以写成 my_dict = pre_defined_dicts[n]
    current_dict = {f"key_{i}": i*2 for i in range(n)}
    
    # 执行你的计算逻辑,这里用你提到的10*10*n,也可以结合字典元素计算
    # 比如如果要遍历字典的值求和再乘以n:calculation = sum(current_dict.values()) * n
    calculation_result = 10 * 10 * n
    
    # 把当前n值、计算结果、甚至字典内容存入小字典,追加到结果列表
    results_list.append({
        "当前n值": n,
        "计算结果": calculation_result,
        "对应字典": current_dict  # 不需要的话可以删掉这一行
    })

# 把结果列表转换成DataFrame
final_df = pd.DataFrame(results_list)
print(final_df)

代码运行后的输出示例

你会得到一个5行的DataFrame,每行对应n=1到5的计算结果,比如:

当前n值计算结果对应字典
1100{'key_0': 0}
2200{'key_0': 0, 'key_1': 2}
3300{'key_0': 0, 'key_1': 2, 'key_2':4}
.........

顺便纠正你之前代码里的小问题

  1. 你之前用df作为循环变量,之后又把df赋值为空DataFrame,这会混淆变量名,建议用n或者current_n这类清晰的变量名。
  2. 嵌套循环的逻辑如果没梳理好会重复计算,我们把每次循环拆成「处理当前n→遍历对应字典→执行计算→存结果」的线性逻辑,就不会乱啦。

备注:内容来源于stack exchange,提问作者fabianspfra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 06:59:33