Невозможно перезаписать столбец dataframe из другого dataframe - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть RabbitMQ, где я получаю некоторые данные, аналогичные представленным ниже (одна строка каждые 3 "):

CPU, Memory, Disk 22, 30, 31 25, 33, 29 28, 33, 27 25, 32, 30 33, 32, 25

У меня есть кадр данных с именем dataset, которыйимеет три столбца, а именно CPU, Memory и Disk, где я храню данные, полученные от RabbitMQ. После сохранения данных на фрейме данных вызывается алгоритм scikit-learn (DBSCAN), который создает кластерыDBSCAN хранит кластер каждого из данных в массиве с именем labels_. Затем я сохраняю labels_ в новом кадре данных с именем labels_df в столбце с именем 'Label'.

Я хочу создать новый столбец с именем 'Label' в кадре данных dataset и сохранить данные в столбце Label из столбца Label в кадре данных labels_df.

Myпроблема в том, что self.dataset['Label'] = labels_df['Label'] выдает эту ошибку:

ValueError: Input contains NaN, infinity or a value too large for dtype('float64') Длина обоих наборов данных всегда одинакова.

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

1 Ответ

0 голосов
/ 13 февраля 2019

Я только что нашел ответ на мою проблему.Оказывается, все, что мне нужно было сделать, это передать labels в новый Dataframe с именем self.labels и объединить его с self.dataset dataframe.Вот что в итоге произошло: self.dataset: CPU Memory Disk 0 33 67 64 1 28 47 67 2 9 23 23 3 10 18 18 4 48 56 62 5 39 60 62

self.labels Labels 0 -1 1 -1 2 -1 3 -1 4 0 5 -1

, и окончательный кадр данных таков: self.final_dataframe CPU Memory Disk Labels 0 33 67 64 -1 1 28 47 67 -1 2 9 23 23 -1 3 10 18 18 -1 4 48 56 62 0 5 39 60 62 -1

Если кто-то найдет лучшее решение, пожалуйста, сделайтепомощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...