Python基于档案生成数据

时间:2015-03-20 22:30:22

标签: python random

我正在开展一项运营研究项目。

我创建了一个启发式方法,我需要密集测试我的方法以评估其性能。

我有3个字段的过去数据;

日期,金额,类型

我想要的是生成新数据,类似于现有数据。我目前正在使用“+/- random”。

我有一个方法或库来生成原始数据,类似于现有数据,通过分析旧数据的统计数据和趋势。

1 个答案:

答案 0 :(得分:0)

根据我的评论,你可以使用熊猫。例如,首先生成一些虚拟数据:

data = [{'date': 'dummy', 'amount':1, 'type': 'a'},
        {'date': 'dummy' , 'amount':2, 'type': 'a'},
        {'date': 'dummy', 'amount':1, 'type': 'b'},
        {'date': 'dummy', 'amount':1, 'type': 'b'},
        {'date': 'dummy', 'amount':2, 'type': 'c'}]

导入相应的库:

import pandas as pd
import random

将数据导入pandas数据帧:

df = pd.DataFrame(data, columns=['date', 'amount', 'type'])

输出:

    date  amount type
0  dummy       1    a
1  dummy       2    a
2  dummy       1    b
3  dummy       1    b
4  dummy       2    c

然后随机应用" + / - "数据方法:

df['new  amount'] = df['amount'].apply(lambda amount: amount + (-random.random())**random.randint(1, 2))

结果:

    date  amount type  new  amount
0  dummy       1    a     1.021583
1  dummy       2    a     1.496697
2  dummy       1    b     0.685394
3  dummy       1    b     1.764432
4  dummy       2    c     2.219713

当然,这个过程必须根据您的确切需求进行更改。您还可以使用pandas进行统计分析,以提出其他方法来转换数据。