Записать вывод симуляции Python в матрицу - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь взять сумму четырех столбцов в кадре данных панд (которые определяются случайным числом) и моделировать этот процесс 1000 раз.Я хочу, чтобы это дало мне 1000 строк с разными результатами для каждого столбца.

В сущности, я хочу сказать что-то вроде следующего:

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

, где df['A'] - это один из столбцов, которые я хочу суммировать для каждой итерации.То есть «для каждой итерации суммируйте значения столбцов и« поместите »этот результат в новый фрейм данных, называемый« итерации », указав, куда будет идти результат».Я понимаю, что код не имеет смысла, но он описывает то, что я пытаюсь достичь.Чтобы было ясно, я не хочу записать результат в файл CSV или TXT.

Заранее благодарю за совет.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Не зная, как / почему вы планируете рандомизировать каждый столбец на каждой итерации, это будет работать:

df = pd.DataFrame(np.random.rand(500,4)) # initialize with random data

iterations = [df.sum()]
for i in range(999):
    iterations = np.vstack([iterations, df.sum()])

iterations = pd.DataFrame(iterations)
0 голосов
/ 13 ноября 2018

Возьмите сумму четырех столбцов в кадре данных панд (которые определяются случайным числом) и смоделируйте этот процесс 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...