Страницы

Поиск по вопросам

пятница, 20 марта 2020 г.

Работа с именованными объектами

#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 соответственно.

Комментариев нет:

Отправить комментарий