データの追加と削除

NumPy入門

Izzy Weber

Core Curriculum Manager, DataCamp

NumPy での結合

 

 

2つの配列を結合して両方の要素を持つ1つの配列を作成するイメージ

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() はデフォルトで第1軸方向に結合します。
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が発生する

2つの配列を結合して両方の要素を持つ1つの配列を作成するイメージ

NumPy入門

次元の互換性

  3×3の配列と3要素の1D配列は次元が互換性がなく、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入門

新しい次元への結合

2つの2D配列を重ねて3D配列を作成するイメージ

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...