Numpy метод для определения местоположения .resize () - PullRequest
0 голосов
/ 08 марта 2020

Вот процедура из Udacity Искусственный интеллект для робототехники. Они предоставляют собственный класс матрицы, используя только стандартные библиотеки, и это позволяет расширить массив до больших размеров и указать, где меньшие исходные элементы массива go.

# ------------
    #
    # creates a new matrix from the existing matrix elements.
    #
    # Example:
    #       l = matrix([[1, 2, 3],
    #                  [4, 5, 6]])
    #
    #       l.expand(3, 5, [0, 2], [0, 2, 3])
    # expand into a 3 * 5 matrix and map old elements to rows
    # 0 and 2 and cols 0,2,3
    # results in:
    #
    #       [[1, 0, 2, 3, 0], 
    #        [0, 0, 0, 0, 0], 
    #        [4, 0, 5, 6, 0]]
    # 
    # expand is used to introduce new rows and columns 
    # into an existing matrix
    # list1/list2 are the new indexes of row/columns in which the matrix
    # elements are being mapped. Elements for rows and columns 
    # that are not listed in list1/list2 
    # will be initialized by 0.0.
    #

    def expand(self, dimx, dimy, list1, list2 = []):
        if list2 == []:
            list2 = list1
        if len(list1) > self.dimx or len(list2) > self.dimy:
            raise ValueError("list invalid in expand()")

        res = matrix()
        res.zero(dimx, dimy)
        for i in range(len(list1)):
            for j in range(len(list2)):
                res.value[list1[i]][list2[j]] = self.value[i][j]
        return res

Есть ли что-то похожее в Numpy? Я прочитал документы для np.resize () и .resize (), но не увидел никаких параметров для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...