Вопрос 1 Установите prof_names в таблицу с двумя столбцами.Первый столбец должен называться «Org.Major.Budget.Unit» и иметь название каждого отдела один раз, а второй столбец должен называться «имена» и содержать массив имен всех преподавателей этого отдела.Подсказка: подумайте, как работает группа: она собирает значения в массив, а затем применяет функцию к этому массиву.Ниже мы определили две функции для вас, и вам нужно будет использовать одну из них при вызове группы.
def identity(array):
return array
def first(array):
return array.item(0)
prof_names = Table().with_columns(
"Org.Major.Budget.Unit", profs.column("Org.Major.Budget.Unit"),
"names", profs.column("Full.Name"))
prof_names = prof_names.sort("Org.Major.Budget.Unit")
prof_names = prof_names.group("Org.Major.Budget.Unit",first(prof_names.column("names")))
Попытка сгруппировать профессоров в массив, но, похоже, не работает.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-58-2997498ca0f8> in <module>
7 ##print(identity(prof_names.column("names")))
8
----> 9 prof_names = prof_names.group("Org.Major.Budget.Unit",first(prof_names.column("names")))
10
11
//anaconda3/lib/python3.7/site-packages/datascience/tables.py in group(self, column_or_label, collect)
938
939 self = self.copy(shallow=True)
--> 940 collect = _zero_on_type_error(collect)
941
942 # Remove column used for grouping
//anaconda3/lib/python3.7/site-packages/datascience/tables.py in _zero_on_type_error(column_fn)
2937 return column_fn
2938 if not callable(column_fn):
-> 2939 raise TypeError('column functions must be callable')
2940 @functools.wraps(column_fn)
2941 def wrapped(column):
TypeError: column functions must be callable