Билет 30 - LunexCoding/Basics-of-data-analysis GitHub Wiki

Билет 30

  1. Копирование массивов в NumPy. Как можно создать копию массива?

    .copy()

  2. Представления массивов. Что делает метод ndarray.view()?

    Разные объекты массивов могут использовать одни и те же данные. Метод view() создает новый объект массива, являющийся представлением тех же данных.

Практика

import numpy as np


class DataAnalysis:
    '''
    Дан двумерный массив. Найти все различные строки.
    '''

    def __init__(self, matrix=None):
        self._matrix = matrix
        print(self._findDifferentStrings())

    def _findDifferentStrings(self):
        temp = np.ascontiguousarray(self._matrix).view(np.dtype((np.void, self._matrix.dtype.itemsize * self._matrix.shape[1])))
        _, idx = np.unique(temp, return_index=True)
        return self._matrix[idx]


task = DataAnalysis(np.random.randint(0, 2, (6, 3)))
⚠️ **GitHub.com Fallback** ⚠️