俺言語。

自分にしか理解できない言語で書かれた備忘録

Numpy

【Python】配列から値と一致するインデックスを取り出す方法

ListとNumpyで使用感が違う。Listはインスタンスのメソッドなのに対してnumpyはnumpyクラスのメソッド。 紛らわしい。。 Listの場合 ndarrayの場合 Listの場合 list.index()を使用 a = [1, 2, 3, 4, 5] b = a.index(3) # 引数は1つのみ、listで渡せない > 2…

【Python】配列同士の AND や OR, NOT を取る方法

Boolの配列同士でAND, OR, NOTを取る方法。listとnumpyで方法が違うので覚え書き (こうゆう操作感の違いは何とかしてほしい...)配列からTrueの部分だけ抽出するときなんかに便利。 oregengo.hatenablog.com list の場合 numpy の場合 list の場合 戻り値はli…

【Python】0次元のndarrayを1次元に変換

そもそも0次元が存在しているのが意味不明なんだけど、 a = np.array(0) で作成したndarrayはshape=0のゼロ次元になってしまう。これでは例えばconcatenateでほかのndarrayと結合しようとすると b = np.zeros(10) c = np.concatenate((a, b)) ValueError: ze…

【Python】複数のndarray行列からよく使うm×n配列のndarrayを作成する(縦軸:時系列データ, 横軸:データ種類)

時系列データと時間を格納した行列があるとして それから1つの配列を作成する方法 # データ準備 Time = np.array([0, 1, 2, 3....]) a = np.array([0, 1.1, 2.5, 3....]) b = np.array([0.5068, 0.840, 0.4075, 0.8574....]) # m×nの配列作成 matrix = np.co…

【Python】多次元配列

listを使った多次元配列。自分的にもこっちのほうがわかりやすい。sonickun.hatenablog.com

【Python】numpy ndarrayとmatrixの特徴 覚書き

MATLABからの移行組にはとっつき辛いところが多々あるnumpyの配列,ndarrayの気付いた点まとめ。 numpyは基本、横ベクトル xx.shape -> (n, ) はベクトル, x.shape -> (n,m) は配列 array([1, 2, 3])やarange(10)で作成されるのはベクトル ベクトルは標記こ…

【Python】listやndarrayの中身をエクセルに張り付けるためにクリップボードへコピー

listやndarrayの中身をエクセルに張り付けて検証や検討をしたい場合に有効。 肝になるのが・リスト内容標記を使って数値を文字列にして末尾に改行コード\nを追加・"".join(データ)で文字を結合 import pyperclip def copy(data): temp = [str(i) + "\n" for…

【Python】listの掛け算は危険

【Python】numpy2次元配列でキーを使ったソートの方法

エクセルの並び替えの様に優先するキー(軸)を指定した並び替えが少しめんどくさい。 なぜそれ用の関数orオプションがないのだろうか…。方法としては キーにする軸のみargsortでソート後のインデックスを取り出す そのインデックスを使ってソートする前の配列…

【Python】ベクトルから要素の抽出(条件と一致したもの,Trueのインデックス)

Numpyで動作は確認しているがlistで動作するかは未確認 -> 2019.5.13 listの場合を追加 これは覚えておくと便利 numpyの場合 listの場合 numpyの場合 条件に合うものを抽出 a = numpy.array([1,2,3,4,5,6]) a = a[a%2 ==0] >>array([2, 4, 6]) #←条件が合う…

【Python】Numpyのndarrayは1xN行列とベクトルが全くの別物!

MATLABと大きく違う点を今更ながら気づいた…。 なんかおかしいな、やりづらいなと思っていた点ですっきりしたのでメモ。 numpy.arange(0,10,1) >> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) # ←これはベクトル a = numpy.arange(0,10,1) a.reshape(1,10) >> ar…

【Python】Numpyで行列の連結

良く忘れるのでメモ。こちらが大変わかりやすい!qiita.com

【Python】Numpyのndarrayを反転(逆順)にする

ndarrayだけじゃなくrangeでも使える方法。numpyの関数ならnumpy.fliplrを使えばいいんだけど 1次元の場合ちょっと工夫が必要で a = np.fliplr([ndarray])[0] てやらないとエラーがでる。なので逆スライスを使って a = ndarray[::-1] とした方がラク。ステッ…

【Python】Numpyを使ったプログラムをpy2exeでexe化する時のハマったポイント

コンソールでpython setup.py py2exeを実行すると コンソールに'libiomp5md.dllが見つからない’的なエラーが出る場合。setup.pyと同じディレクトリにNunpyフォルダにあるdllをコピーするとエラー回避可能。 しかしコピーはめんどくさいので何とかならないの…