У меня есть данные, аналогичные приведенным ниже в файле:данных: Создание словаря словарей со списками в Python
Name, Age, Sex, School, height, weight, id
Joe, 10, M, StThomas, 120, 20, 111
Jim, 9, M, StThomas, 126, 22, 123
Jack, 8, M, StFrancis, 110, 15, 145
Abel, 10, F, StFrancis, 128, 23, 166
Фактические данные могут быть 100 столбцов и миллион строк.
То, что я пытаюсь сделать, это создать Dict в следующей схеме:
school_data = {'StThomas': {'weight':[20,22], 'height': [120,126]},
'StFrancis': {'weight':[15,23], 'height': [110,128]} }
Что я пробовал:
Испытание 1: (очень дорогой с точки зрения вычислений)
school_names = [] for lines in read_data[1:]: data = lines.split('\t') school_names.append(data[3]) school_names = set(school_names) for lines in read_data[1:]: for school in schools: if school in lines: print lines
Испытание 2:
for lines in read_data[1:]: data = lines.split('\t') school_name = data[3] height = data[4] weight = data[5] id = data [6] x[id] = {school_name: (weight, height)}
Эти два метода, в которых я пытался действовать, но не приблизились к решению.
Каковы другие столбцы? Являются ли они релевантными для вычислений или вы хотите сделать с этими дополнительными столбцами то же самое, что вы делали с весом/высотой (значения группы по Школе)? – Cadu