У меня есть три отдельных одномерных массива Numpy одинаковой длины, которые я без проблем использую в качестве входных параметров x, y и c для функции разброса matplotlib. Некоторые координаты графика, содержащиеся в массивах x и y, дублируются. Там, где координаты дублируются, я хотел бы построить сумму всех связанных значений параметров (данных) c.
Есть ли встроенный способ сделать это в matplotlib? В качестве альтернативы я думаю, что мне нужно удалить все дублированные координаты из массива x и y и связанные значения из массива данных. Но прежде чем сделать это, связанные значения данных должны быть добавлены в массив данных, относящийся к остальным координатам.
Ниже показан тривиальный пример, где дублированные координаты были удалены и добавлены значения данных. к одной оставшейся паре координат.
Я нашел в Stackoverflow алгоритм, который удаляет повторяющиеся координаты из массивов x и y за считанные секунды, используя zip-архив Python и набор. Однако моя попытка распространить это на массив данных заняла час, и у меня нет опыта, чтобы улучшить это. Обычно массивы имеют длину 600 000 элементов.
У меня есть три отдельных одномерных массива Numpy одинаковой длины, которые я без проблем использую в качестве входных параметров x, y и c для функции разброса matplotlib. Некоторые координаты графика, содержащиеся в массивах x и y, дублируются. Там, где координаты дублируются, я хотел бы построить сумму всех связанных значений параметров (данных) c. Есть ли встроенный способ сделать это в matplotlib? В качестве альтернативы я думаю, что мне нужно удалить все дублированные координаты из массива x и y и связанные значения из массива данных. Но прежде чем сделать это, связанные значения данных должны быть добавлены в массив данных, относящийся к остальным координатам. Ниже показан тривиальный пример, где дублированные координаты были удалены и добавлены значения данных. к одной оставшейся паре координат. [code]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]) [/code] Я нашел в Stackoverflow алгоритм, который удаляет повторяющиеся координаты из массивов x и y за считанные секунды, используя zip-архив Python и набор. Однако моя попытка распространить это на массив данных заняла час, и у меня нет опыта, чтобы улучшить это. Обычно массивы имеют длину 600 000 элементов.