当前位置: 首页 > 后端技术 > Python

Python数据分析 - Numpy与2维数组操作

时间:2023-03-26 15:15:54 Python

在NumPy中有一个更好的方法,而不是将整个I和J矩阵存储在内存中(尽管meshgrid足以存储对原始向量的引用),只需存储形状向量然后广播其余的东西:如果没有indexing='ij'参数,然后meshgrid将更改参数的顺序,即J,I=np.meshgrid(j,i)-用于可视化3D图的“xy”模式(请参阅文档)。除了在2D或3D网格上初始化函数外,网格还可以用于索引数组:上面的方法同样适用于稀疏网格。7.矩阵统计和sum函数一样,NumPy提供了矩阵不同轴上的min/max、argmin/argmax、mean/median/percentile、std/var等函数。np.amin等同于np.min,同样是为了避免与fromnumpyimport*可能出现的歧义。2维及更高维度的argmin和argmax函数分别返回最小和最大索引,可以通过unravel\_index函数转换成二维坐标:all和any也可以作用于特定维度:8.矩阵排序虽然在上面,axis参数适用于不同的函数,但是在二维数组的排序中影响较小:我们通常不需要像上面这样的排序矩阵,axis也不能代替关键参数。但幸运的是,NumPy提供了其他允许按一个或多个列排序的函数:1.a[a[:,0].argsort()]表示按第一列对数组进行排序:其中,argsort返回排序索引的数组在原始数组之后。这个方法可以重复使用,但是一定不能混淆:a=a[a[:,2].argsort()]a=a[a[:,1].argsort(kind='stable')]a=a[a[:,0].argsort(kind='stable')]2.lexsort函数可以对所有列进行如上排序,但总是按行进行,排序后的行是倒序的(即从下到上),其用法如下:a[np.lexsort(np.flipud(a[2,5].T))],先按第2列排序,再按第5列排序;a[np.lexsort(np.flipud(a.T))],从左到右对列进行排序。