python_analytics

主にpythonやライブラリーを使ったデータ解析、機械学習、統計学などについて書いていきます

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])