Я пытаюсь переиндексировать некоторый словарь с помощью функции lambda .
Я пытаюсь получить уникальный индекс из «данных» и переиндексировать их в «id_dict». Тем не менее, когда я пытаюсь использовать сопоставление и преобразовать его в массив np.array, он выходит из области видимости.
uniq = list(set(data))
id_dict = {old: new+1 for new, old in enumerate(sorted(uniq))}
seq = map(lambda x: id_dict[x], data)
mapped_data = np.fromiter(seq, dtype=np.int32)
2
3 id_dict = {old: new+1 for new, old in enumerate(sorted(uniq))}
----> 4 seq = map(lambda x: id_dict[x], data)
5 mapped_data = np.fromiter(seq, dtype=np.int32)
NameError: name 'id_dict' is not defined