yuuho.wiki

カオスの欠片を集めて知恵の泉を作る

ユーザ用ツール

サイト用ツール


tips:python:numpy:start

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
tips:python:numpy:start [2020/02/21 03:51] yuuhotips:python:numpy:start [2021/11/28 17:13] (現在) yuuho
行 14: 行 14:
 grid = np.mgrid[:H,:W].transpose(1,2,0)[:,:,::-1] grid = np.mgrid[:H,:W].transpose(1,2,0)[:,:,::-1]
 grid = np.mgrid[:Y,:X].transpose(1,2,0)[:,:,::-1] grid = np.mgrid[:Y,:X].transpose(1,2,0)[:,:,::-1]
 +grid = np.stack(np.mgrid[:H,:W][::-1],-1)
 +grid = np.mgrid[:H,:W][::-1].transpose(1,2,0)
 +grid = np.mgrid[:W,:H].T
 </code> </code>
  
行 59: 行 62:
 out = img[smp_y,smp_x,:].reshape(H,W,C) out = img[smp_y,smp_x,:].reshape(H,W,C)
 </code> </code>
 +
 +=== int から one hot へ ===
 +
  
 ==== 変形 ==== ==== 変形 ====
行 72: 行 78:
 以下は同じ,式が使えない内包表記ではメソッドが便利 以下は同じ,式が使えない内包表記ではメソッドが便利
 <code python> <code python>
-canvas[area_IDs==color] = random_color(idx) +canvas[A==B] = hoge 
-np.put(canvas,area_IDs==color,random_color(idx))+canvas.place(A==B,hoge)
 </code> </code>
  
 +
 +1チャンネル画像を3チャンネルにしたいときの書き方
 +<code python>
 +# 持っている : alpha (H,W)
 +# 欲しい : img (H,W,C)
 +
 +#通常
 +hoge = alpha[:,:,None]
 +img = np.c_[hoge,hoge,hoge]
 +
 +#broadcast
 +img = np.zeros((1,1,3),dtype=alpha.dtype)+alpha[...,None]
 +#or
 +img = np.array([[[0,0,0]]],dtype=alpha.dtype)+alpha[...,None]
 +
 +#内包
 +img = [np.c_[a,a,a] for a in [alpha[:,:,None]] ][-1]
 +
 +#method
 +img = alpha[:,:,None].repeat(3,axis=2)
 +</code>
 ==== linalg ==== ==== linalg ====
 linear algebra (線形代数) パッケージ. linear algebra (線形代数) パッケージ.
行 84: 行 111:
 === 型変換 === === 型変換 ===
 ''.astype()''でfloatからintへ変換すると,四捨五入ではなく小数点以下切り捨てとなる. ''.astype()''でfloatからintへ変換すると,四捨五入ではなく小数点以下切り捨てとなる.
 +
 +==== print関数の挙動を変更 ====
 +
 +''numpy.set_printoptions()'' を使えば良い
 +
 +  * [[https://python.atelierkobato.com/print_option/|NumPy 表示形式の設定]]
  
tips/python/numpy/start.1582257070.txt.gz · 最終更新: 2020/02/21 03:51 by yuuho