• 追加された行はこの色です。
  • 削除された行はこの色です。
[[プログラミング]]

*概要 [#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)

*ndarray [#wd032910]
*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]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS