Диаграмма UML в Python 3.7

Я бы использовал другой подход, чем элегантное решение, предлагаемое акроном. Я знаю, как использовать этот метод для создания столбца MaxTime, который вы показываете на своем изображении.

#This will split your df into a list of data frames for each gill.
list.df <- split(df1, df1$Gill)

Затем вы можете использовать lapply, чтобы найти максимальное время для каждого Gill, а затем сделать это значение новым столбец MaxTime.

lapply(list.df, function(x) mutate(x, MaxTime = max(x$Time[x$Diametre != 0])))

Затем вы можете объединить эти разделенные данные с помощью bind_rows ()

df1 = bind_rows(list.df)
0
задан Wodin 15 February 2019 в 07:59
поделиться

1 ответ

Прежде всего, есть несколько проблем с вашей диаграммой:

  • Вместо направленных ассоциаций рекомендуется использовать точечную нотацию.
  • Навигация сомнительна. Исследовательская группа, вероятно, имеет одного профессора в качестве главы и любое количество связанных "WiMi".
  • Назвать ассоциации, как вы это сделали, немного бессмысленно. Скорее вы должны использовать роли (и, соответственно, точечную запись для определения собственных свойств).
  • Общая агрегация не имеет определенной семантики согласно спецификациям UML. Это не имело бы смысла, если бы оно было составным. Вероятно, это ассоциация (член имеет презентацию). Вероятно, это должен быть также ассоциативный класс, чтобы связать его с ResearchGroup. Я бы не знал, почему это вообще должно быть статичным (возможно, неправильно думать в соответствии с отсутствующим классом ассоциации для презентации).

Поскольку вы реализуете его в Python, кратности можно упростить.

  • 0..1 означает, что у вас есть простая переменная, которая может принимать None или значение (в Python проверка типов отсутствует).
  • 1 означает, что это не должно быть None.
  • * или n..m означает, что у вас есть массив (просто инициализируйте его с помощью []).
  • Статические переменные не определены в Python. Вы могли бы поместить их в глобальный охват как своего рода компромисс.
0
ответ дан Thomas Kilian 15 February 2019 в 07:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: