Расстояние Вассерштейна для нескольких гистограмм

Я пытаюсь вычислить матрицу расстояний между гистограммами. Я могу найти только код для вычисления расстояния между 2 гистограммами, и мои данные имеют более 10. Мои данные - это файл CSV, а гистограмма состоит из столбцов, которые составляют до 100. В них содержится около 65 000 записей, я работаю только с 20% данных, но код все еще не работает.

Я пробовал distance_matrix из scipy.spatial.distance_matrix, но он игнорирует грань, что данные являются гистограммой, и обрабатывает их как обычные числовые данные. Я также пробовал расстояние Вассерштейна, но ошибка была object too deep for desired array

from scipy.stats import wasserstein_distance
distance = wasserstein_distance (df3,df3)

Я ожидал, что результат будет примерно таким:

0   1              2           3           4             5          6    
0   0.000000    259.730341  331.083554  320.302997  309.577373  249.868085 
1   259.730341  0.000000    208.368304  190.441382  262.030304  186.033572  
2   331.083554  208.368304  0.000000    112.255111  256.269253  227.510879  
3   320.302997  190.441382  112.255111  0.000000    246.350482  205.346804  
4   309.577373  262.030304  256.269253  246.350482  0.000000    239.642379  

но это была ошибка вместо

ValueError: object too deep for desired array

0 ответов

Другие вопросы по тегам