如何为Pandas Dataframe创建更多随机行?

时间:2019-06-06 14:18:34

标签: python pandas dataframe random

假设我有一个熊猫数据框,只有一行,它看起来像这样:-

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

例如,现在我想为此再生成10行,一种方法是将该行重复10次。但是,我希望它在数学和逻辑上是连贯的,例如使生成的另外10行遵循正态分布(尽管问题只有1行),但又不希望所有行都相同。是否有任何合适的方法可以基于此单行生成更多随机行,以使这些行不仅仅是普通重复项?

1 个答案:

答案 0 :(得分:0)

这将花费您的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