我正在尝试将pandas数据框中的四列求和(由随机数确定),并模拟此过程1000次。我希望这能给我每列1000行,每行具有不同的结果。
我本质上想说以下话:
for i in range(1000):
np.sum(df['A']) = iterations[i, j]
其中df['A']
是我要为每次迭代求和的列之一。也就是说,“对于每次迭代,将列值相加并“放置”此结果到一个称为“迭代”的新数据框中,指定结果将要到达的位置。我知道代码没有意义,但是它描述了我要实现的目标。需要明确的是,我不希望将结果写入csv或txt文件。
预先感谢您的建议。
答案 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(=模拟数)
答案 1 :(得分:1)
在不知道如何/为什么计划每次迭代随机化每一列的情况下,它将起作用:
{{1}}