雑文 with Python

 Qiitaを眺めながらあれこれ考えるのは色々と為になる.

Python / numpy > list > 与えられた行列から任意の位置の列リストを取り出す > Elist = src_data.T[3:]-Qiita

numpy.matrix(行列;2次元)かnumpy.ndarray(テンソルとか高次元配列)かで区別しておくと良いんじゃないだろうか.行列なら転置を考える方が考える上でも計算の上でもシンプルだし,テンソルとか高次元なってくると,転置を考えるのがcomplicatedになってくる.そうすると行列(numpy.matrix)で考える事って余り無いかなあ.そもそも,日頃PanelかDataFrameで考えるからなあ.

 

Python2 / numpy > ファイルの特定の列だけを別のファイルの列データで置き換える > numpy.c_を教えていただきました-Qiita

hstack, vstackとr_, c_って,後者の方が便利って事で色んな場面で用いられているけど,arrayの連結の場合は前者を用いるべきで,こういったスライスオブジェクトの操作という場面では,後者の方が良いのかな,と思った.後,試した訳じゃないけど,ピュアPythonなr_, c_よりも,hstackやvstackの方が速いと思う.多分,余程データサイズが大きく無いと意識するレベルではないだろうけど.きっとStackOverflowとか漁れば,誰かがベンチマークしていると思う.

 

参考:

[1] numpy.concatenate()#Join a sequence of arrays along an existing axis
[2] numpy.hstack()#Equivalent to np.concatenate(tup, axis=1)
[3] numpy.vstack()#Equivalent to np.concatenate(tup, axis=0)
[4] numpy.r_[]
[5] numpy.c_[]#Equivalent to np.r_[‘-1,2,0’, index expression]

広告
カテゴリー: 未分類 パーマリンク