解析numpy中的unique,ravel,flat,argmax

numpy是数据科学的神器库,里面很多函数都很棒,接下来慢慢记录在我学习的过程中遇到的函数

1. numpy.unique: 此函数主要用于返回数组中唯一元素构成的数组,可类比去重操作

numpy.unique(arreturn_index=Falsereturn_inverse=Falsereturn_counts=Falseaxis=None)

ar:array_like 如果输入的array不是一维的,将会被平铺为一维

return_index:可选项,赋值为bool类型 。如果为True,则返回的是unique后对应的Index,

return_inverse: 可选项,赋值为bool类型。如果为True,则返回的是unique index.

return_counts:可选项,赋值为bool类型。 如果为True,则返回的是unique后的array对应的个数统计

axis:这个默认是None

下面展示用法 

2. numpy.ravel: 此函数主要用于将数组解开为扁平的数组

numpy.ravel(aorder='C')

a:array_like 

order: {'C','F','A','K'} 可选项,C代表按照一行一行的依次平铺开为默认项;F代表按照一列一列依次平铺开;A主要用于有表达式的时候按照C的方法来实现

下面展示用法:

3.numpy.ndarray.flat:  此函数是一个一维的迭代器

下面展示用法:

flat直接通过Index获取铺平为1维的值,也可以直接对指定的index的元素进行赋值操作,如果自己想要创造 one_hot 矩阵,就可以使用该方法来进行赋值。

4. numpy.argmax : 找到aixs对应的最大值的索引 

numpy.argmax(aaxis=Noneout=None) 

a: array-like 

axis: 默认为None,可以接受Int类型的指定,默认的是index跑向的是平铺后的数组。  如果指定axis ,则会跑向指定的axis进行操作。

下面展示用法:

一个用法没指定aixs,则默认返回平铺开后的array [1,2,3,4,5,6]中最大值的Index ,索引值为5   

第二个用法指定axis ,则默认返回array中的每一行对应的最大值的index ,第一个[1,2,3]对应的最大值index是2 ,第二个[4,5,6]对应的最大值index是2   ,所以最后返回的是对应最大值的index的array.加深印象可以看下面的例子 。在tensorflow里面也用到这个argmax, 所以这里加深下理解。

猜你喜欢

转载自blog.csdn.net/qq_27575895/article/details/81735294
今日推荐