numpyので詳述ufunc機能

  • 普遍的な機能とは何ですか

汎用関数(または略してufuncは )配列放送、型鋳造、および他のいくつかの標準機能をサポートして、要素ごとの様式でndarrays上で動作する関数である。つまり、ufuncには「ベクトル化」ラッパーでありますFiは特異的C入力の数と生成しFiは特異的C出力数をXED XEDとる関数
-ソース:numpy.org
-計算素子簡潔には、汎用関数がndarrayの操作を定義される元素であり
、Aがnumpyの存在重要な概念:ブロードキャスト(放送)、放送手段、形状は、基準の計算に関与する配列と異なることができるように:放送

  • いくつかの単純なプロパティufunc
  1. ニン入力データ数:
  2. NOUT出力の数:
  3. NARGS:引数の数。オプションのものも含めufuncが取る引数の数を含むデータ属性。
  4. ntypes:数値numpyの種類の数- ufuncが動作可能に- 18合計がありそのうち
  5. タイプ:入力-グループ化タイプ>出力のリストを返します。データ型「ドメイン範囲」ufuncが提供できるグループを一覧表示するデータ属性。データ型は、文字コードを使用して与えられています
  6. アイデンティティ:それは1を持っている場合は、データの属性は、ufuncのID要素を含みます。そうでない場合は、属性値はNoneです。
  7. 署名:各INPUT /配列の次元での署名でどのように決定するかは、出力の分割コアとループの次元にある
    ヒント:コールufunc .__ doc__内の例題は、関数のドキュメントを表示することができます

例えば

print(np.multiply.__doc__)
  • ufunc方法(メソッド):
    我々の関数以下add.reduceに説明するための例として、
  1. ufunc.reduceの
    使用法:減らす(軸、初期 、keepdims)
    参照減らす
    Aは、入力の行列である
    (デフォルトは0である)の計算に関与している軸寸法
    、例えば:
import numpy as np
a=np.arange(9).reshape(3,3)
print(a)
# [[0 1 2]
#  [3 4 5]
#  [6 7 8]]
#如果我们想把矩阵按行(axis=0)进行划分,把各行相加
b=np.add.reduce(a,axis=0)
print(b)
# [ 9 12 15]

結果は、操作が完了した後、可視、(3)形状の我々の見解Bは、軸= 0軸= 0ではないことが、もちろん、我々は変更したい場合、操作ndim前後の、(低減)が除去されていますkeepdimsオフ減らす= 1を達成することができます

b=np.add.reduce(a,axis=0,keepdims=1)

私たちは、バイアスた場合、最終的な解決策を取得したい場合は、その各要素は、Aプラス5の両方の結果であることを、あなたは、この最初のパラメータを呼び出すことができます

b=np.add.reduce(a,axis=0,keepdims=1,initial=5)
print(b)
#[[14 17 20]]

同様に、multiply.reduceとadd.reduceは非常に似ており、唯一の違いは、他の機能を減少させるために乗算に「和」であり、同様です。

  1. ufunc.accumulateは
    同様に、我々は、例えばadd.accumulate
    我々は行の行列(軸= 0)に分割されることを置く場合、我々が得た結果を見てどのようadd.accumulateあります
import numpy as np
a=np.arange(9).reshape(3,3)
print(a)
# [[0 1 2]
#  [3 4 5]
#  [6 7 8]]
#如果我们想吧矩阵按行(axis=0)进行划分,把各行相加
b=np.add.accumulate(a,axis=0)
print(b)
# [[ 0  1  2]
#  [ 3  5  7]第一行+第二行
#  [ 9 12 15]]第一行+第二行+第三行
  1. ufunc.outer
    我々 add.outer Aケーススタディ
import numpy as np
a=np.array([1,2,3])
b=np.array([4,5,6])
print(np.add.outer(a,b))
# [[5 6 7]
#  [6 7 8]
#  [7 8 9]]

我々 3によって置換され3+、A 1 + 1は[4,5,6]で置換されているに、2 + 2は[4,5,6]で置換されている、発見した[4,5,6]
要約:add.outer(b)は結果として、素子形状とBとの各要素の交換に相当する(a.shape、B.SHAPE)

公開された19元の記事 ウォンの賞賛0 ビュー1141

おすすめ

転載: blog.csdn.net/Jinyindao243052/article/details/104212219