Добавление и удаление данных

Введение в NumPy

Izzy Weber

Core Curriculum Manager, DataCamp

Конкатенация в NumPy

 

 

Два массива объединяются в один массив, содержащий элементы обоих

Введение в NumPy

Конкатенация строк

classroom_ids_and_sizes = np.array([[1, 22], [2, 21], [3, 27], [4, 26]])
new_classrooms = np.array([[5, 30], [5, 17]])

np.concatenate((classroom_ids_and_sizes, new_classrooms))
array([[ 1, 22],
       [ 2, 21],
       [ 3, 27],
       [ 4, 26],
       [ 5, 30],
       [ 5, 17]])
  • np.concatenate() по умолчанию выполняет конкатенацию вдоль первой оси.
Введение в NumPy

Конкатенация столбцов

classroom_ids_and_sizes = np.array([[1, 22], [2, 21], [3, 27], [4, 26]])
grade_levels_and_teachers = np.array([[1, "James"], [1, "George"], [3,"Amy"],
                                      [3, "Meehir"]])
np.concatenate((classroom_ids_and_sizes, grade_levels_and_teachers), axis=1)
array([['1', '22', '1', 'James'],
       ['2', '21', '1', 'George'],
       ['3', '27', '3', 'Amy'],
       ['4', '26', '3', 'Meehir']])
Введение в NumPy

Совместимость форм

Массив 3×3 и массив 4×2 вызывают ошибку ValueError при конкатенации из-за несовместимости формы

Два массива объединяются в один массив, содержащий элементы обоих

Введение в NumPy

Совместимость размерностей

  Массив 3×3 и одномерный массив из трёх элементов несовместимы по размерности и вызывают ошибку ValueError

  Массив 3×3 и массив 3×1 совместимы по форме и размерности

Введение в NumPy

Обеспечение совместимости

array_1D = np.array([1, 2, 3])
column_array_2D = array_1D.reshape((3, 1))
column_array_2D
array([[1],
       [2],
       [3]])
row_array_2D = array_1D.reshape((1, 3))
row_array_2D
array([[1, 2, 3]])
Введение в NumPy

Конкатенация по новым измерениям

Два двумерных массива объединяются в стопку, образуя трёхмерный массив

Пояснение: эту операцию нельзя выполнить с помощью np.concatenate()

Введение в NumPy

Удаление с помощью np.delete()

classroom_data
array([['1', '22', '1', 'James'],
       ['2', '21', '1', 'George'],
       ['3', '27', '3', 'Amy'],
       ['4', '26', '3', 'Meehir']],)
np.delete(classroom_data, 1, axis=0)
array([['1', '22', '1', 'James'],
       ['3', '27', '3', 'Amy'],
       ['4', '26', '3', 'Meehir']])
Введение в NumPy

Удаление столбцов

np.delete(classroom_data, 1, axis=1)
array([['1', '1', 'James'],
       ['2', '1', 'George'],
       ['3', '3', 'Amy'],
       ['4', '3', 'Meehir']]')
Введение в NumPy

Удаление без указания оси

classroom_data
array([['1', '22', '1', 'James'],
       ['2', '21', '1', 'George'],
       ['3', '27', '3', 'Amy'],
       ['4', '26', '3', 'Meehir']],)
np.delete(classroom_data, 1)
array(['1', '1', 'James', '2', '21', '1', 'George', '3', '27', '3', 'Amy',
       '4', '26', '3', 'Meehir'])
Введение в NumPy

Давайте потренируемся!

Введение в NumPy

Preparing Video For Download...