将python模拟输出写入矩阵

时间:2018-11-13 17:37:55

标签: pandas numpy

我正在尝试将pandas数据框中的四列求和(由随机数确定),并模拟此过程1000次。我希望这能给我每列1000行,每行具有不同的结果。

我本质上想说以下话:

for i in range(1000):
    np.sum(df['A']) = iterations[i, j]

其中df['A']是我要为每次迭代求和的列之一。也就是说,“对于每次迭代,将列值相加并“放置”此结果到一个称为“迭代”的新数据框中,指定结果将要到达的位置。我知道代码没有意义,但是它描述了我要实现的目标。需要明确的是,我希望将结果写入csv或txt文件。

预先感谢您的建议。

2 个答案:

答案 0 :(得分:1)

取熊猫数据框中的四列之和(由随机数确定),并模拟此过程1000次。这应该给我每列1000行,每行具有不同的结果。我们可以这样写:

import os
import pandas as pd
import numpy as np
import random
from tqdm import tqdm

df_output = []

for i in tqdm(range(1000)):
    sample_matrix = np.random.rand(60,4)
    df = pd.DataFrame(sample_matrix)
    df.columns = ['V_' + str(col)  for col in df.columns]
    df_output.append(np.array(df.sum()))

df_output

df_output将是一个矩阵,其中行数为1000(=模拟数)

enter image description here

答案 1 :(得分:1)

在不知道如何/为什么计划每次迭代随机化每一列的情况下,它将起作用:

{{1}}