【发布时间】:2021-09-26 16:18:10
【问题描述】:
我编写了一个模拟赌徒废墟问题的脚本。目前,我正在将蒙特卡洛点数和场景结果打印到控制台。我目前正在将 10,000 个点的输出打印到数据框,结果在控制台中如下所示:
MC = 0 结果 = 0
MC = 1 结果 = 10
MC = 2 结果 = 10
我想做的是编写代码,以便我可以将结果导出到 CSV 并让最终结果如下所示:
MC = 0 结果 = 0 MC = 3 结果 = 0 MC = 6 结果 = 10
MC = 1 结果 = 10 MC = 4 结果 = 10 MC = 7 结果 = 0
MC = 2 结果 = 10 MC = 5 结果 = 0 MC = 8 结果 = 10
基本上,我希望将每组 n 行(在这种情况下,每组 100 行,从第 100 行开始)输出到同一 csv 中的新列。
这是我可怜的尝试:
data={'MC Point':[i],'Outcome':[money]}
df=pd.DataFrame(data)
print(df)
df.to_csv('output.csv')
即使这并没有像我想象的那样工作,因为 CSV 仅捕获第 10,000 个结果。非常感谢任何帮助。
【问题讨论】:
-
您是否希望所有项目
MC[i] Outcome = [money]在每 3 个索引之后进入一个新列?还是您需要所有MC[i] Outcome = [money]一个接一个,其中任何一个都保存在CSV 中? -
这取决于你对所有项目的意思。我想要的是 A 列中的前 100 行,B 列中的第二 100 行,C 列中的第三 100 行,依此类推,直到每组 100 行在其自己的列中。将 MC =0 Outcome = 0 到 MC = 99 Outcome = 0 视为它自己的列,然后我希望 MC =100 Outcome = 0 到 MC =199 Outcome = 0 在它自己的列中,依此类推。
-
我在答案中提出了一个方法,如果元素总数不是 100 的倍数,请小心处理最后一行。