Как создать больше случайных строк для Pandas Dataframe? - PullRequest
0 голосов
/ 06 июня 2019

Предположим, у меня есть датафрейм Pandas с одной строкой, которая выглядит примерно так: -

      Column1 Column2 ...... Column n
Row 1 0.123  0.234.          0.156

Теперь, например, я хочу сгенерировать еще 10 строк для этого, один из способов - просто дублировать эту строку 10 раз. Но я хочу, чтобы он был логически последовательным и математическим, чтобы еще 10 сгенерированных строк, например, следовали нормальному распределению (хотя проблема в том, что есть только 1 строка), но не хотят, чтобы все строки были одинаковыми. Есть какой-нибудь подходящий способ генерировать больше случайных строк на основе этой единственной строки, чтобы строки не были просто дубликатами?

1 Ответ

0 голосов
/ 06 июня 2019

это возьмет ваш df, получит среднее и стандартное отклонение первой строки строки и добавит столько строк, сколько вы хотите, с числами из нормального распределения.изменить диапазон, чтобы добавить больше.

import pandas as pd
import numpy as np

df = pd.DataFrame(df) 

standev = df.std(axis=1)
rowmean = df.mean(axis=1)

standev = standev[0]
rowmean = rowmean[0]
ncolumns = len(df.columns)

rows = []

for i in range(10):
    noise = np.random.normal(rowmean , standev , ncolumns)
    df.loc[len(df)]=noise
...