静かなる名辞

pythonとプログラミングのこと


2019-08-01から1ヶ月間の記事一覧

matplotlibでAxesを真っ白にする(x軸とかy軸なんかを消して非表示にする)

matplotlibでAxesを真っ白にする(x軸とかy軸とか目盛りなんかを消して非表示にする) matplotlibでsubplotsを使って適当にグラフを並べるのはよくある処理だと思います。しかし、きれいに長方形で配置できないときもあります。タイル状に作るので、場合によ…

【python】機械学習でpandas.get_dummiesを使ってはいけない

「pandasのget_dummiesでダミー変数が作れるぜ」という記事がとてもたくさんあって初心者を混乱させているのですが、これは「データ分析」には使えても「機械学習」には向きません。もう少し正確に言い換えると「訓練データからモデルを作り、未知のデータの…

【python】クラスを関数として使う

はじめに クラスはcallされたら自分のクラスのインスタンスを返さないといけないと思っていませんか? 一般論としてはその通りなのですが、Pythonではそうしないメカニズムも用意されています。 __new__を使えば割となんでもできます。もっとも、実用的な用…

【python】scikit-learnで大規模疎行列を扱うときのTips

はじめに 自然言語処理などで大規模疎行列を扱うことがあります。一昔前はNLPといえばこれでした(最近は低次元密行列で表現することのほうが多いですが)。 疎行列はその特性をうまく生かして扱うとパフォーマンス上のメリットが得られる反面、うかつにdens…

【python】itertools.chainを使って複数のiterableを一つにまとめる

概要 複数のiterable(リストとか)を結合させてループさせたいときがあります。 >>> lst1 = [1, 2, 3] >>> lst2 = [4, 5, 6] >>> # 1, 2, 3, 4, 5, 6というループをやりたい 連結すればできたりしますが、余計なメモリを確保するのでスマートではないし、パ…

【python】namedtupleはすごい(きもちわるい)

namedtupleは存在は知ってたけど、使い方を知ったら「すげえ(きめえ)」という感想にしかならなかったので、記事に書きました。

list, tuple, dict, setの基本的な使い方、相違点、使い分け、応用など

pythonでよく使う組み込みのコレクション型には、list, tuple, dict, setなどがあります。ただ、なんとなく使っている、いつもlist、それぞれ微妙に使い勝手が違って困る、という人も多いと思います。そこで、これらについて解説します。

【python】code.pyも作っちゃだめだよという話

概要 実行時カレントディレクトリにcode.pyを置いておいたら訳のわからない落ち方をした。 現象 なんかimportしたらまともに動かなかった。調べると、pytest→pdb→codeという流れでimportして、自作のcode.pyはエラーが出るコードだったのでそこで止まってた…

【python】標準データ型での二次元配列の表現あれこれのアクセス速度

はじめに 俗に言う「二次元配列」をpythonで表現しようとすると、listのlistで書くというのが一番最初に思いつくやり方だと思います。 速度のこととか考えるとどうやるのがいいのか? ということは実はあまり知らなかったので、この際いろいろ試してみます。…