持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情
1.添加元素到数组末尾的函数
在学python基础的时候我们知道向python的列表中添加元素使用的是append函数,在Numpy中也提供了这样的函数,所以对两者进行比较学习。
1.1 Python列表的append方法
除了这种方式之外,python中还有一个extend方法,extend方法可以将指定的数组作为参数,对指定的数组中的元素与原有列表中的元素进行合并。
在numpy中同样提供了名为np.append的函数,从这个函数只允许指定数组为参数来看,其功能更接近于extend方法。
1.2 np.append
np.append函数是指在数组的末尾添加指定的元素,并生成新的数组的函数。
np.append(arr,values,axis=None)
其中:
- arr是指用于指定需要添加元素的数组
- values是指用于指定需要添加的元素或数组
- axis是指在哪个坐标轴进行运算。 在np.append函数的参数中,第一个参数指定原有的数组,第二个参数指定需要添加的元素的数组,第三个参数指定添加数组的坐标轴的参数。
这里我们需要注意一点,当使用axis时,要求添加的数组满足跟shape一致。
2.数组的真假值判断函数
在numpy中,包含使用ndarray元素对真假值进行判断的np.all和np.any这两个很方便的函数这两个函数在当元素中含有错误的值时,操作会更为便捷。 其中np.all函数在元素全部为True的情况下返回True,np.any函数只要某个元素为True就返回True。
2.1 np.all
np.all(a,axis=None,out=None,keepdims=False)
关于其中的参数,首先使用a指定作为条件的数组,使用axis指定条件的搜索范围;然后使用out指定保存结果的地方,使用keepdims指定输出的结果是否和a的维度相同。当keepdims=True,就可以对原有的数组使用广播机制进行计算。
2.2 np.any
np.any的使用方法与np.all完全相同,只不过,其返回的结果是不同的。np.any在对象范围内只要有一个元素是True返回的结果就是True。
np.any(a,axis=None,out=None,keepdime=False)
np.any返回将bool值作为元素的数组。
3.指定条件获取元素索引的函数
当我们进行数据预处理的时候需要获取直方图的索引时,或者需要对值进行限制时,这个函数是非常方便的。
3.1 np.where
np.where函数是用于对满足条件的元素的索引进行返回的函数。
np.where(condition[,x,y])
np.where返回所得到的ndarray元素的索引。如果原有的ndarray为二维数组,则返回两个按照每个维度保存了索引值的一位数组。而且,如果指定了x和y,就会返回元素被转换成x或y的ndarray。
使用np.where函数,获取的返回值不是数值,而是索引。