読者です 読者をやめる 読者になる 読者になる

Python

Pythonzの後日談

Pythonzをインストールしたはいいものの,それからというもののうまくいってない.えー,どうして?? ということで地道にいろんな可能性をつぶしていったんだけど....それでもうまくいかない.... あー,もうあかんわ! ってなったときに,ふと.bashrcに記述…

Pythonz

研究室のサーバーが更新されたので、それに伴っていくつかのライブラリが消えてしまったらしい。(だいたい、国立大学の研究室のサーバーはリース契約なので、数年にまとめて新しいものに更新される)具体的には、lxmlというpythonのモジュールが使えなくな…

Bitbucketからリポジトリ削除して、新しくpushするまでのまとめ

コードの共有をするためにBitbucketを使っている(Gitリポジトリをそのまま使える。っていうくらいの認識しかないが)けど、何をとち狂ったか、前回のpush時に巨大モデルファイル(少なくとも3GB超)をいくつもpushしてしまった。単純に.gitignoreを書き忘れ…

リストのコピーをするには?

要は[:]を使えばいいらしい. コピーもとがls_orgで,コピー先がls_targだった場合, ls_targ = ls_org[:]でリストの内容はまるまるコピーされる.ただし,二次元配列のときはちょっと違うようだ.詳しくは http://tsuchiya-yoshihiro.blogspot.jp/2008/03/p…

Emacsをpythonでより快適に。しようとして、すべてマニュアルインストールしたまとめ

EmacsでPythonの自動補完をしようとした。ので、その時のまとめを書いてみる。まずは手動インストールを試みる。 http://www.sakito.com/2012/11/emacs-python-jedi.htmlなんか、すげー簡単そうに書いてあるけども、実際はぜんぜん簡単ではない。 この人の場…

stanford POS tagger をPythonで呼び出すまとめ

Stanford POS tagger といえば、最大エントロピー法を利用したPOS Taggerだが(知ったかぶり)、これはjavaで書かれている。 それはいいとして、Pythonで呼び出すには、すでになかなか便利な方法が用意されている。Pythonの自然言語処理パッケージのnltkを使…

PythonでKNPのパーサーを書いてみた

他の用事で使うことがあったのを、焼き増ししただけのコード。 でも一応は動いている。特にjumanとKNPの呼び出しなんかは標準入出力を使っているあたりにサボリが見られる。 ほんとは http://blog.higasy.net/?p=11 みたいにサーバーモードで呼び出しできた…

リストの最後にアクセスするには

滅多に使わないから忘れていたが、Pythonの配列では−のインデックスが利用できる。なので、最後の要素にアクセスしたいなら、-1とすればいいわけだ。例 >a = [1,2,3]>a[-1] 3とね。

リストの要素を逆順にソートする

リスト型配列がlstだった場合、lst.reverse()とすると逆順にソートされる。 意外に忘れがちなので、便利http://www.python-izm.com/contents/application/reverse.shtml

Pythonの文字列削除について

Pythonで標準的に用意されている文字列削除のコマンドといったら、 lstrip rstrip stripあたりがよく使われるんだろうが、私は大きな勘違いをしていた。 というのもstripを使えば、文字列の中にあるすべてに対してその処理をしてくれるもんだと思っていたが…

文字コードを判定する関数

def guess_encodings(s): encodings = ['ascii','utf-8','shift-jis','euc-jp'] for enc in encodings: try: unicode(word_col_1,enc) break except UnicodeDecodeError,e: enc= '' return encコードがわからなくなって困ったら、これでおk

リストの要素の順番を逆にする方法

結論から言うと、 [x for x in reversed(l)] でおk。http://inforno.net/articles/2007/05/13/python-reversed-list に載っていた。

重複した要素を持つリストを解決する方法

結果的に リストがlistという名前の時 list(set(list))とすれば、重複した要素はなくなる このサイトが参考になる http://www44.atwiki.jp/keisks/pages/83.htmlあと、こっちの方が少し詳しいかもしれない http://d.hatena.ne.jp/t-fridge/20080323/12062179…

Gensimでのコーパスの作り方

http://radimrehurek.com/gensim/tut1.htmlこのページを見るのは二回目だけど。 ようやくまともにコーパスの作り方がわかったので、書き記しておく。考え方としてはページでのコーパスの作り方をひとつの関数としてみなす。 すると、入力は >>> documents = …

gensim 文章をベクトル空間にする方法

http://radimrehurek.com/gensim/tut1.htmlを見れば大体は書いてある。このページで紹介されている方法は二種類あって、1つはテキストを一気にメモリに載せて変換する方法。2つめは順番にベクトル空間に変えていく方法。1つ目のやり方だと、 dictionary =…

イテレーターとジェネレーターの解釈

みんなのPython p.214からイテレーターの概念で引っかかってしまったので、(一応)理解するよう努力した。イテレーターは「順序がないデータ構造に、順番を与えてやって、順番に処理していく機能(手法)」と解釈した。具体的な使い方は、「順番がないデー…

Gensimの使い方 ~Modelの作り方編~

主に見るべきところ http://radimrehurek.com/gensim/tut2.htmlTf-idモデルとLSIモデルの構築の仕方が書いてある。ページを見る限りはモデルの構築方法は>> models.Tfidf(対象コーパス)でいいみたい。 ちなみにここでの対象コーパスはbag-of-wordで(素性No,…

思い立っても使えないgensim

ふと、思うことがあってGensimを使ってみようとチュートリアル通りにコマンドを入れてみたが、動かない。corpus = corpora.MmCorpus('/path/to/corpus.mm')というところで>>> corpus = corpora.MmCorpus('/path/to/corpus.mm') Traceback (most recent call …

すぐ忘れる脳のためのメモ_管理者権限なしの時にpython install

毎週のようにやっているはずなのに、すぐに忘れる。 毎回調べるのも面倒きわまりないので、書き残しておくことにした。python installの時はこのコマンド$ python setup.py install --prefix=~/以上

すぐ忘れる脳のためのメモ_対話型画面でのスクリプトのimport方法

http://dennoh-guerrilla.blogspot.jp/2012/01/python.htmlにまんま書いてあるが、対象ディレクトリで対話型画面を起動して>>> import スクリプト名を実行するだけでよかった。 変に.pyとか入れるんだっけとか?考えて余計な時間を食った。ちなみにやりたか…

PYTHONPATHの設定とか

サーバーでTheanoというライブラリを動かしたかったのだが、やっぱり普通にはインストールはうまくいかない(サーバーではrootユーザーではないので) そこで、prefixをつけてインストールを試みたが、うまくいかなかった。原因はPYTHONPATHが通っていないこ…

多次元リストの話

Pythonで多次元リストを作るときと言えば、 a = [[0 for i in range(3)] for i in range(3)] とリスト内包表記をすれば、 >>> a [[0, 0, 0], [0, 0, 0], [0, 0, 0]]参考 http://d.hatena.ne.jp/greennoah/20081202/1228233338 http://php6.jp/python/basics/…

文字コードを判別するには?

時々、いろんな文章を扱っていると文字コードの扱いに困る。 なので、どうしたらいいものか?と考えたら判定すればいいと思った。それで、調べてみたら見つかった。 http://speirs.blog17.fc2.com/blog-entry-4.htmlのように、片っ端から文字コードを試して…

リスト→文字列、文字列→リストの方法

文字列→リストならsplit()を使えばごく簡単にできるけど、その逆の方法は知らなかった。なので、調べてみると http://taichino.com/programming/968 で見つかった。文字列変数 = "".join(リスト)でおk。ちなみに""のところにはリスト間を何でつなぐか?が入…

Pythonで一気にループざまぁぁぁぁ!する方法

例えば、すごい深いネストが作られてしまったとしよう。こういうとき、BasicやJavaやCにはウルトラ便利なGo to文でネストからの脱出が簡単にできる。けど・・・PythonにはGo to文が存在しないのだ・・・そこで、Pythonで一気にネストから抜ける方法http://ju…