numpyのは、データ型をサポート
numpyのは数字のみの変数の型サポート
のようなブール値、int型、UINT種類、float型、複合型を。
これらは、データの私達の一種であるDTYPE
我々はこれらの事は、私たちの構築に使用する必要が配列型をndarray
法律の配列を作成する方法があります。
- arange方法と同じ範囲を使用し、作成します。
- linspace方法作成は、所定のステップサイズ、間隔linspaceにおけるデータの所定数aRange。
- もの - (のみタプルで)指定された配列の形状、全体アレイ1を作成します。
- ゼロ - (のみタプルで)指定された配列の形状、ゼロの全配列を作成します。
- 目は -マトリックスを作成します。
アレイの種々の特性
私はndarrayでnumpyの、言うことができるプロパティは、私は完全にそれらを列挙したくない言及した実験の建物を含め、あまりにも多くのです。
ここでは、配列ndarrayは、アレイによって作成されたのタイプであると仮定します
- .T特性、得られたマトリックス転置の形態。
- プロパティを.size、統計の配列番号のすべての要素にアクセスします。
- プロパティを.ndimアレイの寸法を得ます。
- .shape属性、アレイの各次元の出力サイズ。
各種操作のアレイ
为了能够更加方便地操作各种各样的参数,我们需要把我们的参数存储到一个矩阵中,同时,为了使用一些优化算法,我们又不得不展开我们的数组。numpy中这些操作都是比较简单的。
1. .reshape((shape_tuple))
2. .ravel()
其它还有一些很厉害的操作, 在这之前我们需要明白一些事实。
· 什么是ndarray的的axis?
axis是多维数组的一个属性,以二维数组为例,axis=0代表沿着列的方向向下,axis=1代表沿着行的方向向右。
在了解了以上知识以后,我们就可以了解一下操作了:
首先是数组和数组之间的操作:
- 数组连接,把多个数组拼接成一个数组——concatenate
- 数组的堆叠,允许更加灵活地堆叠数组——stack系列
- 数组的拆分,相当于是堆叠的逆操作——split系列
然后是数组中列和行的操作:
- 删除列或者行——delete,给定axis的值决定删除列还是行
- 插入列或者行——insert,同样由axis来决定
- 在末尾添加数组——append。和insert操作差不多
其它
随机数操作
主要是使用numpy.random模块内的各种函数。
你要知道numpy中操作的单元都是数组,所以最后生成的都是ndarray的对象,所以你给定的参数不一定是随机数的区间,很可能是最后数组的shape!
这里面有很多随机数可以挑选,请移步相关文档,这里不再赘述。
数学函数
numpy支持比built-in math库更加复杂的数学运算(这里就不仅仅局限于数组了)甚至可以求解积分和差分。
这里我主要想讲讲与矩阵和向量有关的运算
还有与线性代数有关的运算,这里使用到的是numpy.linalg模块中的内容。
索引和切片
索引操作,以二维数组为例:
- 获得某个索引的元素,比如要获得(m, n)位置上的元素,就a[m, n]。
- 获得某些元素,我们可以a[([m1, n1], [m2, n2])]。
切片操作,和list的切片操作时一样的。
ndarray[start : stop : step]
我们在对高维数组进行操作的时候,切片也可以以索引的形式来进行。
比如a[0:3, 2:4]什么意思一目了然
排序,搜索,计数
- 排序:sort方法
- 搜索和计数: