持续记录学习过程中遇到的numpy相关问题
1.np.zeros (shape, dtype=float, order=‘C’)
创建全为0的数组
这里必需的参数是shape,即创建数组的维度。
a = np.zeros((2,2)) # 得到两行两列的全零数组
np.empty (shape, dtype=float, order=‘C’)
和np.zeros很类似,只不过这里的数组元素是无限接近于零的随机数,并不一定全是0。np.median(nums)
np.ones(shape, dtype=float, order=‘C’)
创建全为1的数组。
2.np.arange()
根据给定的范围生成一个等差序列。
按参数有以下三种情况:
1)np.arange(x)
x为终点,起点取默认值0,步长取默认值1。
2)np.arange(x1,x2)
x1为起点,x2为终点,步长取默认值1。
3)np.arange(x1,x2,x3)
x1为起点,x2为终点,x3为步长。
3.np.median(nums)
返回数组nums的中位数。
np.mean(nums)
返回数组nums的均值。
4.np.stack([arrays1,array2,array3],axis=0)
输出一个新的数组,该数组由arrays1,array2,array3堆叠而成。
这里第一个参数是需要堆叠的数组,第二个参数指的是按哪个维度堆叠。
详见np.stack()函数详解
5.np.random.normal(size,loc,scale)
生成一组按正态分布排列的数。
loc:均值;scale:标准差(scale越大越矮胖,scale越小,越瘦高);size:输出的shape
6.np.histogram(a, bins=10, range=None, weights=None, density=None)
生成直方图。
a:待统计数据的数组;
bins:指定统计的区间个数;
range:一个长度为2的元组,表示统计范围的最小值和最大值,默认值None,表示范围由数据的范围决定;
weights为数组的每个元素指定了权值,histogram()会对区间中数组所对应的权值进行求和;
density为True时,返回每个区间的概率密度;为False,返回每个区间中元素的个数。
参考np.histogram用法
7.np.argmax(a, axis=None, out=None)
返回数组a沿axis维度最大值的索引。
8.np.greater(arr1, arr2)
判断 arr1 的元素是否大于 arr2 的。
np.less(arr1, arr2)
判断 arr1 的元素是否小于 arr2 的。
9.np.meshgrid()
从坐标向量中返回坐标矩阵。
如x = [1,2,3],y = [4,5,6],则np.meshgrid(x,y)会返回一个list,该list表示所有可能取到的坐标,其中有两个元素,第一个元素是X轴的取值,第二个元素是Y轴的取值。(x轴从[1,2,3]中取值,y轴从[4,5,6]中取值)
这里有个容易混的点是,返回的X轴的取值并不是1,2,3,而应该是(1,1,1),(2,2,2),(3,3,3)。因为在所有可能的坐标中,x的每个取值对应3个可能的y值,因此每个x值是要取三次的。如(1,4),(1,5),(1,6)
10.np.intersect1d()
找到两个数组的交集。
返回两个输入数组中已排序的唯一值。