numpy_100(21-40) 2日目

昨日の復習も終わった

21 8×8のチェックボード配列(市松模様)をtile関数を用いて作成する。

  • np.tile関数:配列を複製してタイル状に並べた新しい配列を生成する関数

numpy.tile(A, reps)

  • reps:intのタプル;どの軸方向に何回配列を繰り返すかを指定

 

z = np.tile(np.array([[0,1],[1,0]]),(4,4))

 

22 5*5の乱数の行列を正規化する

  • 正規化:機械学習の際に過学習を防ぐ際に行われる重みを小さい値に保つ方法
  • スカラ値の四則演算はすべての要素に対して行われる

 

23 色を四個の符号なしバイト型(RGBA)で表現するカスタムdtypeを作成する

  • RGBA:コンピュータで色を扱う際の表記法やデータ形式の一つ。色をRed,Green,Blueの強度と、透明度(A:Alpha)の組み合わせとして表現する。各要素がそれぞれ8ビット(256段階)の場合、一つの色を32ビット(約10億種類)のデータ量で表現する。

一旦どこに使うかも分からんし、深追いしないでおく、、、

 

24 5*3行列と3*2行列の掛け算

  • np.dot関数を使用することで、簡単にベクトルの内積や行列の積を計算できる
  • numpy.dot(a, b, out = None)
  • 第一、第二引数には内積や積を求めたいベクトルや行列を指定

z = np.dot(np.ones*1, np.ones((3,2)))

29 0から遠くなるように浮動小数点型の配列の小数点切り上げ方法は?

  • 符号関数:正の値に対して1、負の値に対して-1、0に対して0を返す関数
  • sign, signum, sgn関数などがある
  • np.sign()
    NumPy配列ndarrayの符号を取得
    負の値は-1、正の値は1、0は0となるnumpy.ndarrayが返される。

 

  • numpy.copysign(a,b):
    あるnumpy.ndarrayの符号を別のnumpy.ndarrayのものに置き換えることができる。第一引数の符号が第二引数の符号に置き換えられる。

 

  • np.abs(a):
    配列aの各要素に対して、絶対値を取った配列を作る関数

 

  • np.ceil(a)
    浮動小数点数floatのNumPy配列ndarrayの小数点以下を切り捨てたり切り上げる。正の無限大への丸め。

 

30 2つの配列に共通する値の見つけ方は?

複数の集合の共通部分の抽出の方法

np.intersect1d(a,b)

 

32 以下の式は正しいですか?

np.sqrt(-1) == np.emath.sqrt(-1)

  • np.sqrt(a):
    ・引数のルート(平方根)を計算する
    ・引数aが正の実数の場合;正の実数で返す
    ・引数aが負の実数の場合;nanで返す

    → np.emath.sqrt() は引数が負の実数の場合にも複素数を返す

    ・引数aが複素数の場合;負の実数が含まれている場合も計算結果を複素数で返す

33 昨日、今日、明日の日付の取得方法は?

datetime64:

  • 日時機能をネイティブにサポートするコア配列データ型のこと
  • Unixエポック(1970年1月1日の00:00:00 UTC)を基準にしたオフセットによって整数から日時を作成することもできる
  • 文字列の形式から自動的に選択され、日付や時間のいずれかになる
  • timedelta64を用いて2つの日時値を減算できる

 

38 10個の整数を生成する関数を考える

yield:

  • 基本的に関数の中で用いられ,一旦関数内の動作を一時停止して値を返す。
  • 関数内の動作を停止して値を返すreturnと異なって,値を返した後,処理が再開されるのでメモリの消費が抑えられる。

numpy.fromiter(iterable, dtype, count=-1)

  • イテレート可能なオブジェクトから新しい1次元配列を作成する。
  • iterable;配列にデータを提供する反復可能なオブジェクト
  • dtype;配列を返すときの要素のデータ型を指定します。
  • count;アイテムの数

39 0,1を除く0から1までの値を持つサイズ10のベクトルを作成する

全体が等差数列であるベクトルを作成する方法

  1. arange
  2. linspace

 

 

 

 

 

*1:5,3