尝试使用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....
任何见解都非常感谢!