使用python函数随时间生成样本数据集?

时间:2017-12-05 21:45:48

标签: python oop modeling

尝试使用python生成数据集来练习分析,用pandas估算,scipy

我希望收到一个带有时间戳数据的excel spreadshseet形式的真实数据集(按年)

我热衷于学习面向对象的方法 - obsevations将采取5个功能

下面的代码写了10个观察结果,但最终的预测将是8年〜150,000的〜150,000

import numpy   
year = range(n)
unique_ID = range(10)
location = numpy.random.choice(a=['A', 'B', 'C', 'D'], size=1, p=[0.3, 0.4, 0.2, 0.1])
jobs = ['tinker', 'tailor']
age = numpy.random.choice(range(18))

我正在使用随机函数来分配某些功能,但假设具有位置A的ID具有更高的工作机会

我坚持如何在第0年之后“携带”模型如果位置没有改变并且工作正在进行中。

换句话说,unique_ID应该使用这些功能进行实例化,并将根据其他功能更改功能。

我假设嵌套字典是生成最终产品的一种方式,但我希望输出采用我期望接收的形式(xlsx或csv文件)

def job_assign():
    if location == "A":
        job = numpy.random.choice(a=jobs, size=1, p=[0.2, 0.8])
    elif location == "D":
        job = numpy.random.choice(a=jobs, size=1, p=[0.8, 0.2])
    else:
        job = numpy.random.choice(a=jobs, size=1, p=[0.7, 0.3]

   def run_model():
       for year in range(1):
            for unique_ID in range(10):
                location = numpy.random.choice(a=['A', 'B', 'C', 'D'], size=1, p=[0.3, 0.4, 0.2, 0.1])  # based on above
            print(str("year: " + str(year), "unique_ID: " + str(unique_ID),
                  'location:' + str(location),
                  'job :' + job,
                  'age: ' + str(age))

def advance_year():
    year +=1
    for n in range(n):
        age +=1
        job_switch()

def job_switch():
    if location == 'A':
        if job == 'tinker':
            job = 'tailor'
        elif job == 'tailor':
            job = 'tinker'
    else:
        pass


run_model()  # then advance_year and use previous unique_ID's....

任何见解都非常感谢!

0 个答案:

没有答案