#python #pandas #numpy
Для решения задачи комивояжера использую массивы из библиотеки NumPy: mat = np.array([[-1., 10., 25., 25., 10.], [1., -1, 10., 15., 2.], [8., 9., -1., 20., 10.], [14., 10., 24., -1., 15.], [10., 8., 25., 27., -1.]]) Столбцы и строки представляют собой именованные точки (города). Алгоритм работы предполагает периодическое удаление некоторых строк и столбцов. При этом теряется информация об оставшихся именованных столбцах и строках. Приходится параллельно вести два вектора (по столбцам и строкам), к которым применяются аналогичные операции удаления. Есть ли возможность использовать преимущества библиотеки NumPy (работа с массивами) и возможности DataFrame из Pandas по ведению именованных столбцов и строк?
Ответы
Ответ 1
Собственно Pandas DataFrame и есть набор именованных Numpy векторов (столбцы таблицы). Кроме этого у DataFrame есть индекс - метка или имя каждой строки. Таким образом Pandas DataFrame обеспечивает удобное индексирование как по строкам так и по столбцам. Большинство алгоритмов и функций умеющих работать с Numpy матрицами могут напрямую работать с Pandas DataFrame. Приходится параллельно вести два вектора (по столбцам и строкам), к которым применяются аналогичные операции удаления. Pandas делает это за вас автоматически. Если вам нужен доступ к меткам / именам строк или столбцов то воспользуйтесь атрибутами: df.index или df.columns соответственно.
Комментариев нет:
Отправить комментарий