添加和删除数据

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 数组,因形状不兼容,连接时报错

两个数组合并为一个包含两者元素的数组

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 入门

连接新维度

两个二维数组在垂直方向堆叠生成三维数组的示意图

该操作无法用 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 入门

未指定 axis 的删除

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 入门

Passons à la pratique !

NumPy 入门

Preparing Video For Download...