Для идентичных координат 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

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