pythonのnumpyについて
numpyの配列について
ここは、numpy配列についての備忘録
import numpy as np import pandas as pd
■1次元の配列について flattenとravelは配列をフラットな1次配列にする関数。
a = np.arange(12).reshape(3,4) a.ravel() →array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) a.flatten() a = np.arange(12).reshape(3,4) →array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
■配列に値を挿入 insert は配列に新しく値を挿入する関数。arrで対象となる配列を指定 挿入する場所をインデックス・スライスで指定し。valuesで挿入する値、axisで軸を指定することが可能。 軸が与えられなかった場合は配列はフラットになる。
np.insert(a,5,100) →array([ 0, 1, 2, 3, 4, 100, 5, 6, 7, 8, 9, 10, 11]) np.insert(a,0,a[:,3],axis=1) →array([[ 3, 0, 1, 2, 3], [ 7, 4, 5, 6, 7], [11, 8, 9, 10, 11]])
■インデックス配列 配列の中から、ある特定の条件を満たすデータのみをピックアップして新たに配列を作る。 Bool配列を使って、配列から成分を取り出す。
例:4以上の値を抽出したい場合
a = np.arange(12).reshape(3,4) a[np.array([x>3 for x in a])] →array([ 4, 5, 6, 7, 8, 9, 10, 11])