添加和删除元素的方法主要是
numpy.append(arr,values,axis=None)
import numpy as np
a = np.array([[1,2,3], [4,5,6]])
np.append(a, [7,8,9]) # 不能通过a.append(),与Python的append方法不同;变成一维数组
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
np.append(a, [[17,18,19]], axis=0) # axis=0表示按行插入;2层中括号[]:numpy的括号好严格
array([[ 1, 2, 3],
[ 4, 5, 6],
[17, 18, 19]])
**numpy.insert(arr,obj,value,axis=None) **
a = np.array([[1,2], [3,4],[5,6]])
a
array([[1, 2],
[3, 4],
[5, 6]])
np.insert(a, 3, [7,8]) # 第3号数据前面插入,索引从0开始;数组变成一维
array([1, 2, 3, 7, 8, 4, 5, 6])
a # 原来的数组不变
array([[1, 2],
[3, 4],
[5, 6]])
np.insert(a, 2, [11,12], axis=0) # axis=0按行插入:第2行前面
array([[ 1, 2],
[ 3, 4],
[11, 12],
[ 5, 6]])
np.insert(a, 1, [9], axis=1) # 操作是在原来的数组a上,不是上一步变化之后的数组,注意维度的一致性
array([[1, 9, 2],
[3, 9, 4],
[5, 9, 6]])
np.insert(a, 1, [9,8,7], axis=1) # axis=1表示按照列插入
array([[1, 9, 2],
[3, 8, 4],
[5, 7, 6]])
**numpy.delete(arr,obj,axis=None) **
b = np.arange(12).reshape(3,4) # 创建3行4列的数组
b
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
np.delete(b,5) # 删除数组中指定的元素5;变成一维数组
array([ 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11])
np.delete(b,1,axis=0) # axis=0:删除数组中指定的行,索引=1
array([[ 0, 1, 2, 3],
[ 8, 9, 10, 11]])
np.delete(b,1,axis=1) # axis=1:删除数组中指定的列,第二个参数:索引=1
array([[ 0, 2, 3],
[ 4, 6, 7],
[ 8, 10, 11]])
b # 原来的数组不变
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
进行去重功能
a = np.array([1,2,4,1,6,2,7,9,0])
a
array([1, 2, 4, 1, 6, 2, 7, 9, 0])
np.unique(a) # 自动去重
array([0, 1, 2, 4, 6, 7, 9])
a # 原来数组不变
array([1, 2, 4, 1, 6, 2, 7, 9, 0])
b = np.array([[1,1,3], [1,1,6], [1,1,5]])
b
array([[1, 1, 3],
[1, 1, 6],
[1, 1, 5]])
np.unique(b,axis=1) # 删除相同的列
array([[1, 3],
[1, 6],
[1, 5]])
b = np.array([[0,1,3], [2,4,6], [9,8,3], [2,4,6]])
np.unique(b,axis=0) # 将相同的一行数据删除掉
array([[0, 1, 3],
[2, 4, 6],
[9, 8, 3]])