У меня есть огромный массив меток, которые я делаю уникальный через:Добавив объект набора является `NoneType` питона 2,7
unique_train_labels = set(train_property_labels)
, который печатает, как set([u'A', u'B', u'C'])
. Я хочу, чтобы создать новый набор уникальных этикеток с новым лейблом под названием «no_region», и я использую:
unique_train_labels_threshold = unique_train_labels.add('no_region')
Однако это распечатывает быть None
.
Моя конечная цель состоит в том, чтобы использовать эти уникальные этикетки, чтобы впоследствии сгенерировать массив случайных категориальных меток через:
rng = np.random.RandomState(101)
categorical_random = rng.choice(list(unique_train_labels), len(finalTestSentences))
categorical_random_threshold = rng.choice(list(unique_train_labels_threshold), len(finalTestSentences))
Из docs говорится, что set.add()
должен создать новый набор, который, кажется, не быть случай (следовательно, не могу назвать позже list(unique_train_labels_threshold)
)
Где в документах говорится, что метод add генерирует новый набор? Я только нашел: * s.add (x) \t \t добавить элемент x, чтобы установить s * – cdarke
, вы должны сделать это за 2 раза. сначала вы храните 'unique_train_labels' в' unique_train_labels_threshold', затем вызываете 'add()' on 'unique_train_labels_threshold',' a_set.add (stuff) 'always' return none' – pwnsauce
@cdarke да, вот что я имел в виду, он говорит, что добавляет элемент для набора, который для меня, кажется, подразумевает, что набор все равно должен быть там. –