Přidávání a odebírání dat

Úvod do NumPy

Izzy Weber

Core Curriculum Manager, DataCamp

Zřetězení v NumPy

 

 

Dvě pole slučovaná do jednoho pole s prvky obou původních polí

Úvod do NumPy

Zřetězení řádků

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() zřetězuje podél první osy ve výchozím nastavení.
Úvod do NumPy

Zřetězení sloupců

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']])
Úvod do NumPy

Kompatibilita tvarů

Pole 3×3 a pole 4×2, která při zřetězení vyvolají chybu ValueError kvůli nekompatibilnímu tvaru

Dvě pole slučovaná do jednoho pole s prvky obou původních polí

Úvod do NumPy

Kompatibilita dimenzí

  Pole 3×3 a 1D pole se třemi prvky, která jsou nekompatibilní a vyvolají chybu ValueError

  Pole 3×3 a pole 3×1, která jsou kompatibilní ve tvaru i dimenzi

Úvod do NumPy

Zajištění kompatibility

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]])
Úvod do NumPy

Zřetězení do nových dimenzí

Grafické znázornění skládání dvou 2D polí na sebe za vzniku 3D pole

Grafické znázornění s upozorněním, že tuto operaci nelze provést pomocí np.concatenate()

Úvod do NumPy

Mazání pomocí 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']])
Úvod do NumPy

Mazání sloupců

np.delete(classroom_data, 1, axis=1)
array([['1', '1', 'James'],
       ['2', '1', 'George'],
       ['3', '3', 'Amy'],
       ['4', '3', 'Meehir']]')
Úvod do NumPy

Mazání bez osy

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'])
Úvod do NumPy

Pojďme procvičovat!

Úvod do NumPy

Preparing Video For Download...