numpyに手を出してみた

10月 9th, 2017

人工無脳の方がぼちぼち上がったので、そろそろ「自動学習機能」なんかをやってみたいなあ、と・・・

とりあえず「単語学習機」(何も使えない・・・爆)を作ろうとしているのだけれども。

構想はある。一般的な深層学習系のものとは異なるアプローチ(あれは手に負えない)だけれども、しかし、どう考えても膨大な計算が必要になる。かなりアバウトな動作になるはず(何故私が作るとアバウトな挙動になるんだろう・・・)だが、それでもそれなりに計算がいる。

・・・というわけで、噂のnumpyをようよう使ってみようか、という気になった。できれば使いたくないけど。だって難しそうだし(涙)。

動かしながら覚える性質なので、正しいやり方ではないかもしれないが、ともあれやってみた。

とりあえずimport
imprt numpy as np

毎回numpyって書くのは面倒なので「np」と名付けておいて、と・・・

#普通のリストと一緒にzip
a=np.array([1,2,3,4,5])
tx=’あいうえお’
mlist=[]
mlist.extend(tx)
for (w,i) in zip(mlist,a):
print (w,i)

おおっ、動いた。tx=’あいうえお’云々は、単に一文字ずつ区切った配列を書きたくなかっただけ。だって’やら,やら打つのが面倒なんだも(どれだけ面倒がりなんだ)。

さて、もう一丁。要素の付け足しどうするんだろ、ということで・・・
b=np.array([])
c=10
b=np.append(b,c)
print(‘b=’,b)

お、ちゃんとbに「10」が入った。numpy君は、数字にうるさい(?)ので、「10.0」だと考えているっぽい。上記に続いて

d=b[0]+1

をやらせたら「11.0」だとお答えに。ちゃんと桁やらデータ型やらを考えないと後で泣きを見そうだけど、考えたくないので後回し(おいっ)。

・・・とここまでやって、とある記事を見つけた。

速度:Pythonの配列の末尾に要素追加

pythonの配列の末尾にデータを付け加える時の速度を計ったそうな。

・・・普通のappendでリストに追加する方が圧倒的に早いらしい。うわい。

私のような「ちょこっと計算」レベルだと、普通にnumpyなしの方がいいのかなあ・・・

関連記事

  1. クラス内で関数(メソッド)にlistを投げると怪しきことに?
  2. リスト全ての要素の改行(’\n’)を削る
  3. str化した数値をextendで追加すると・・・(文字のばらし方?)
  4. ファイルの読み込みをちょこっと実験
  5. 同じclass内にあるメソッドを呼び出してみる
  6. 予めコンパイルしてキーワードチェックしたら
  7. pythonの「or」はちょっとくせ者っぽい
  8. 変数のidや型をprint文で表示させる

Comments are closed.