In [1]:
import scipy
import pandas as pd
import random
import numpy as np
import matplotlib.pyplot as plt

In [2]:
random.seed(27)

In [3]:
number_elevators = 2
number_unique_people = 20
number_of_floors = 100

In [4]:
def generate_people_flow(number_unique_people = 20, number_rows = 30, uppeak = 8, downpeak = 18, twopeak = 13):
    people = np.random.randint(low = 0, high = number_unique_people, size = number_rows)
    timestamp = np.random.randint(low = 1, high = number_rows*3, size = number_rows)
    timestamp.sort()
    pair = [['R'+str(people[i]), timestamp[i]] for i in xrange(0, number_rows)]
    return pair

In [5]:
people = generate_people_flow()
people


Out[5]:
[['R8', 3],
 ['R2', 5],
 ['R2', 13],
 ['R15', 17],
 ['R17', 21],
 ['R12', 21],
 ['R13', 23],
 ['R3', 23],
 ['R0', 27],
 ['R18', 27],
 ['R9', 30],
 ['R1', 30],
 ['R17', 32],
 ['R15', 33],
 ['R13', 37],
 ['R17', 43],
 ['R18', 45],
 ['R13', 52],
 ['R0', 56],
 ['R19', 65],
 ['R19', 67],
 ['R7', 69],
 ['R16', 69],
 ['R17', 75],
 ['R19', 77],
 ['R6', 77],
 ['R15', 80],
 ['R15', 84],
 ['R10', 87],
 ['R3', 89]]

In [6]:
# def start_destination(number_of_floors = 100):
# #     low = random.randint(0, number_of_floors)
#     start = random.randint(0, number_of_floors)
#     end = random.randint(0, number_of_floors)
#     return start, end

In [7]:
data_rows = [[person[0],person[1], random.randint(0, number_of_floors), random.randint(0, number_of_floors)] for person in people]
data_rows


Out[7]:
[['R8', 3, 65, 70],
 ['R2', 5, 96, 19],
 ['R2', 13, 6, 83],
 ['R15', 17, 33, 37],
 ['R17', 21, 82, 18],
 ['R12', 21, 91, 49],
 ['R13', 23, 7, 92],
 ['R3', 23, 57, 7],
 ['R0', 27, 84, 78],
 ['R18', 27, 74, 66],
 ['R9', 30, 100, 1],
 ['R1', 30, 98, 64],
 ['R17', 32, 25, 61],
 ['R15', 33, 34, 65],
 ['R13', 37, 71, 52],
 ['R17', 43, 9, 39],
 ['R18', 45, 30, 75],
 ['R13', 52, 94, 78],
 ['R0', 56, 53, 17],
 ['R19', 65, 71, 26],
 ['R19', 67, 100, 17],
 ['R7', 69, 97, 1],
 ['R16', 69, 78, 34],
 ['R17', 75, 57, 41],
 ['R19', 77, 31, 44],
 ['R6', 77, 82, 35],
 ['R15', 80, 36, 78],
 ['R15', 84, 17, 36],
 ['R10', 87, 52, 52],
 ['R3', 89, 17, 77]]

In [8]:
name_elevators = ['C'+str(i) for i in xrange(1, number_elevators+1)]

In [9]:
lift_speed = [random.random() for i in xrange(1, number_elevators+1)]
lift_speed


Out[9]:
[0.4891359400429952, 0.09144773583552646]

In [10]:
capacity_lift = 12

In [11]:
number_of_floors = 100

In [12]:
init_lift = [random.randint(0, number_of_floors) for i in xrange(1, number_elevators+1)]

In [13]:
init_lift


Out[13]:
[34, 5]

In [15]:
df = pd.DataFrame(data=data_rows, columns = ['Passenger_Id', 'Timestamp', 'Origin','Destination'])

In [18]:
df.to_csv("sample_data.csv", encoding='utf-8', index = False)

In [ ]: