Для идентичных координат XY в функции рассеяния Matplotlib, как я могу суммировать все связанные значения данных в виде Python

Программы на Python
Ответить
Anonymous
 Для идентичных координат XY в функции рассеяния Matplotlib, как я могу суммировать все связанные значения данных в виде

Сообщение Anonymous »

У меня есть три отдельных одномерных массива Numpy одинаковой длины, которые я без проблем использую в качестве входных параметров x, y и c для функции разброса matplotlib. Некоторые координаты графика, содержащиеся в массивах x и y, дублируются. Там, где координаты дублируются, я хотел бы построить сумму всех связанных значений параметров (данных) c.
Есть ли встроенный способ сделать это в matplotlib? В качестве альтернативы я думаю, что мне нужно удалить все дублированные координаты из массива x и y и связанные значения из массива данных. Но прежде чем сделать это, связанные значения данных должны быть добавлены в массив данных, относящийся к остальным координатам.
Ниже показан тривиальный пример, где дублированные координаты были удалены и добавлены значения данных. к одной оставшейся паре координат.

Код: Выделить всё

Before
x =    np.array([3, 7, 12, 3, 56, 4, 2, 3, 65, 87, 12, 3, 9, 7, 87])
y =    np.array([7, 24, 87, 9, 65, 43, 54, 9, 3, 8, 34, 9, 23, 6, 8])
data = np.array([6, 45, 4, 25, 7, 45, 78, 4, 82, 3, 9, 43, 32, 5, 9])

After
x =    np.array([3, 7, 12, 3, 56, 4, 2, 65, 87, 12, 9, 7])
y =    np.array([7, 24, 87, 9, 65, 43, 54, 3, 8, 34, 23, 6])
data = np.array([6, 45, 4, 72, 7, 45, 78, 4, 12, 9, 32, 5])
Я нашел в Stackoverflow алгоритм, который удаляет повторяющиеся координаты из массивов x и y за считанные секунды, используя zip-архив Python и набор. Однако моя попытка распространить это на массив данных заняла час, и у меня нет опыта, чтобы улучшить это. Обычно массивы имеют длину 600 000 элементов.

Подробнее здесь: https://stackoverflow.com/questions/790 ... an-i-sum-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»