基本的な操作の[実験建物/ numpyの+] numpyの基本的な概念

numpyのは、データ型をサポート

numpyのは数字のみの変数の型サポート
のようなブール値、int型、UINT種類、float型、複合型を
これらは、データの私達の一種であるDTYPE
我々はこれらの事は、私たちの構築に使用する必要が配列型をndarray

法律の配列を作成する方法があります。

  1. arange方法と同じ範囲を使用し、作成します。
  2. linspace方法作成は、所定のステップサイズ、間隔linspaceにおけるデータの所定数aRange。
  3. もの - (のみタプルで)指定された配列の形状、全体アレイ1を作成します。
  4. ゼロ - (のみタプルで)指定された配列の形状、ゼロの全配列を作成します。
  5. 目は -マトリックスを作成します。

アレイの種々の特性

私はndarrayでnumpyの、言うことができるプロパティは、私は完全にそれらを列挙したくない言及した実験の建物を含め、あまりにも多くのです。
ここでは、配列ndarrayは、アレイによって作成されたのタイプであると仮定します

  1. .T特性、得られたマトリックス転置の形態。
  2. プロパティを.size、統計の配列番号のすべての要素にアクセスします。
  3. プロパティを.ndimアレイの寸法を得ます。
  4. .shape属性、アレイの各次元の出力サイズ。
    ここに画像を挿入説明

各種操作のアレイ

为了能够更加方便地操作各种各样的参数,我们需要把我们的参数存储到一个矩阵中,同时,为了使用一些优化算法,我们又不得不展开我们的数组。numpy中这些操作都是比较简单的。
1. .reshape((shape_tuple))
2. .ravel()

其它还有一些很厉害的操作, 在这之前我们需要明白一些事实。

· 什么是ndarray的的axis?

axis是多维数组的一个属性,以二维数组为例,axis=0代表沿着列的方向向下,axis=1代表沿着行的方向向右

在了解了以上知识以后,我们就可以了解一下操作了:
首先是数组和数组之间的操作:

  1. 数组连接,把多个数组拼接成一个数组——concatenate
  2. 数组的堆叠,允许更加灵活地堆叠数组——stack系列
  3. 数组的拆分,相当于是堆叠的逆操作——split系列

然后是数组中列和行的操作:

  1. 删除列或者行——delete,给定axis的值决定删除列还是行
  2. 插入列或者行——insert,同样由axis来决定
  3. 在末尾添加数组——append。和insert操作差不多

其它

随机数操作

主要是使用numpy.random模块内的各种函数。
你要知道numpy中操作的单元都是数组,所以最后生成的都是ndarray的对象,所以你给定的参数不一定是随机数的区间,很可能是最后数组的shape!
这里面有很多随机数可以挑选,请移步相关文档,这里不再赘述。

数学函数

numpy支持比built-in math库更加复杂的数学运算(这里就不仅仅局限于数组了)甚至可以求解积分和差分。
这里我主要想讲讲与矩阵和向量有关的运算
还有与线性代数有关的运算,这里使用到的是numpy.linalg模块中的内容。
ここに画像を挿入説明

索引和切片

索引操作,以二维数组为例:

  1. 获得某个索引的元素,比如要获得(m, n)位置上的元素,就a[m, n]。
  2. 获得某些元素,我们可以a[([m1, n1], [m2, n2])]。
    切片操作,和list的切片操作时一样的。
    ndarray[start : stop : step]
    我们在对高维数组进行操作的时候,切片也可以以索引的形式来进行。
    比如a[0:3, 2:4]什么意思一目了然

排序,搜索,计数

  1. 排序:sort方法
  2. 搜索和计数:
    ここに画像を挿入説明
发布了137 篇原创文章 · 获赞 19 · 访问量 1万+

おすすめ

転載: blog.csdn.net/qq_43338695/article/details/102990261