Импорт агентов и их атрибутов из CSV в Mesa - PullRequest
0 голосов
/ 29 октября 2018

Мои данные представлены в формате .csv, и каждая строка данных представляет каждого агента, а каждый столбец представляет определенный атрибут.

Мой вопрос: как назначить агентов и их атрибуты из файла CSV в Mesa?

Может кто-нибудь помочь мне, как импортировать их в Mesa, пожалуйста?

Спасибо.

1 Ответ

0 голосов
/ 02 ноября 2018

Чтобы импортировать .csv и превратить их в атрибуты, вы хотите знать, как вы читаете файл, а затем передать его в класс агента при его создании.

Например:

у вас есть 'people.csv':

         agent, height, weight
         bill, 72 in, 190lbs
         anne, 70 in, 170lbs

вы читаете в виде списка списков:

import csv
people = []

with open('people.csv') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    line_count = 0
    for row in csv_reader:
         if line_count == 0:
            pass #skips the column headers
            line_count += 1
         else: 
            people.append(row)
            # This will look like [[ 'bill', '72 in', '190lbs'], ['anne', '70 in',\ 
            #'170lbs']]

вы передаете строку в ваш экземпляр агента, это обычно происходит при создании расписания вашего агента в модуле модели:

  for i in range(number_of_agents):
        a = myAgent(i, self, row[i])
        self.schedule.add(a)

Вы присваиваете переменные строки атрибутам агента:

  class myAgent(Agent): 
       def __init__(self, unique_id, model, row): 
            super().__init__(unique_id, model)
            self.name = row[0] # e.g bill
            self.height = row[1] # e.g. 72 in
            self.weight = row[2] # e.g. 190 lbs
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...