[[プログラミング]] *概要 [#w618884a] *目次 [#a5607792] #contents *下位ページ [#ydce84f6] -[[Seaborn]] *概要 [#zf7c02c1] -最近流行ってるので習得しなければならない… *pip3について [#of44a678] -グローバルに入れるには、必ず使うバージョンまで指定しないといけない sudo python3.5 -m pip install numpy *環境構築 [#mb27dc33] -鬼門 sudo apt-get -y install python3-dev python -V python3 -V #バージョンを確認。3.5だとする。 sudo apt-get install python3.5-dev #ここのバージョンとして3.5を入れる sudo apt-get install python3-setuptools sudo easy_install3 pip pip -V # pipの場所がpython3になっていることを確認 sudo pip install virtualenv *開発を始める時 [#s699ba42] -はじめて virtualenv envname pip3 install numpy -二回目以降 . envname/bin/activate pip list # envname環境でのパッケージ -開発を終える時 deactivate *参考 [#n66c183a] -入門 --http://www.pythonweb.jp/tutorial/ --http://www.tohoho-web.com/python/index.html *文法 [#f8f3bc94] -☆ --セミコロンなし,インデントが文法. --配列はmatlab式.[10, [20, 16], [32, u"太郎"], 18]など.スライス使える(a[1:2], a[:3], a[2:])が、スライス自体がリストにはならない.長さはlen(list),追記はlist.append(hoge). --数値配列の作成はrange(1, 5)など([1, 2, 3, 4]) --文字列では、シングルとダブルクオートの区別がない ---取得は配列と同じ ---[[pythonの文字列処理の素晴らしいまとめ>http://d.hatena.ne.jp/yumimue/20071223/1198407682]] --ifに括弧なし.if, elif, elseはすべて行末に: --forはmatlab式+行末に:.forのinに文字列は一文字ずつ取得.for, whileのあとにelseを入れることができる --コメントは#comment, """comment""" --数字->文字はstr(num).文字→整数はint(str),文字→浮動はfloat(str),数値判定はstr.isdigit() --論理演算子はor, and, not.真偽はTrue, False --関数はdef function_name(arg1, ...):.行末に:が必要 ---*でargs, **でパラメータを渡せる([[参照>http://www.tohoho-web.com/python/function.html#function]]) --intも含め配列の関数渡しも、「すべて」参照渡し --a={}でc++でいうmapになる ---pythonのdictは存在しないキーを出力しようとするとデフォルトエラーなので、そうじゃなくしたいならgetを使う。 --printf ---print aでprintf("%d\n",a); ---print a,でprintf("%d",a); -☆☆ --空オブジェクトはNone(Noneは予約語) --空白文字削除はstr.strip() --[[Pythonは日本語がクソ>http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html]] ---以下を一行目に入れる # coding: UTF-8 *バブルソート [#t4875c64] def bubblesort(a): for i in range(len(a)-2): for j in range(len(a)-1-i): if a[j] < a[j+1]: tmp = a[j] a[j] = a[j+1] a[j+1] = tmp a=[2,4,5,1,2] bubblesort(a) for i in range(len(a)): print a[i] *ファイル [#y240e194] for line in open("test.txt", "r") line.strip() print line *正規表現 [#qa327b62] import re a = re.search(r'^[a-z]', line) *numpy [#de8fc638] Numpy Transposeに同値な Tというメンバ変数らしきものがあるhttps://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.T.html pythonできれいな2次元グラフを書く http://qiita.com/kenmatsu4/items/d282054ddedbd68fecb0 パラメータ分布を{coda}パッケージを使ってプロットするとこんな感じです。 **ndarray [#wd032910] -スライスアクセス -ファンシーアクセス -[[要素アクセス>http://stackoverflow.com/questions/33885201/access-ndarray-using-list]] import numpy as np ndarr = np.array([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]]) indices = [1,1] # row,col ndarr[tuple(indices)] *メモ [#i00cafb4] -[[バッチ系関数群>http://python.civic-apps.com/map-reduce-filter/]] --Map, Reduce, Filter -[[Cの共有ライブラリを使う>http://akiniwa.hatenablog.jp/entry/2013/09/28/142947]] -[[型指定して高速化>http://kesin.hatenablog.com/entry/20120306/1331043675]] --そして更に[[Numpy+Cythonで爆足>http://kesin.hatenablog.com/entry/20120314/1331689014]] -[[多次元配列>http://bun6memo.blogspot.jp/2013/06/matlab_27.html]] -[[ヒートマップの書き方>http://qiita.com/hik0107/items/67ad4cfbc9e84032fc6b]] |