Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理作者: Wes McKinney,小林儀匡,鈴木宏尚,瀬戸山雅人,滝口開資,野上大介出版社/メーカー: オライリージャパン発売日: 2013/12/26メディア: 大型本この商品を含むブログ (12件) を見る PandasのDat…
qiita.com こちらの記事のオマージュです。環境は、Windows/Python3.4です。pandasなどはpipでインストールします。groupbyによる集計や、日本語表記などに対応しました。 gist.github.com 補記:可変長引数・キーワード可変長引数 $ cat kwargs.py def func…
Cython ―Cとの融合によるPythonの高速化作者: Kurt W. Smith,中田秀基,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/06/19メディア: 大型本この商品を含むブログ (3件) を見る Pythonのような書きやすいインタープリタ型言語で書き始めて結果を…
Pythonのreモジュールでsearchなどの関数に正規表現を与える場合、rubyやperlなどのように正規表現を直接与えることができず、文字列として与える必要があるため、WindowsのPath区切りにマッチさせたいときなどに正規表現内にバックスラッシュを使いたい場合…
ディレクトリを幅優先探索で掘っていき、ディレクトリやファイルに対する条件を適用し、それらを与えた条件(関数)によってソートし、見つけたファイルパスを返すライブラリを書いた。ちょうどPythonのos.walkを高機能にしたもので、所望のファイルだけを取…
リスト指定と正規表現マッチに対応し、ディレクトリパスとファイル名を返すようにして、関数名をnicewalkからstroll*1に変更(短い単語の方が良かった) ディレクトリの扱いを明確化。rootはカレントディレクトリのディレクトリ名で、pathはカレントディレク…
Max OS X(10.10.5)でOpenCVに入門してみた。写真はtoeさんです。 導入はbrewで簡単にインストールできるし、インクルード検索パスやライブラリ検索パスもpkg-configで簡単に指定できる。 ネガポジ反転は、~演算子(ビット反転・1の補数)を実行するだけで取…
読み込んだデータをシリアライズしておきたい場合、pickleを使えば任意のクラスのオブジェクトを扱える。ファイルを開いて、dumpで書き出し、loadで読み出しを行えば良い。しかし、ある構造を持つクラスのオブジェクトをpickleでシリアライズしようとすると…
全てのキーの組み合わせが無い場合でも、defaultdictの初期値を用いて表を完成させるように修正。 pandasのMultiIndexを使って表示する処理を追記。 統計処理ではネストされた辞書(dict)が多用することで、比較的簡単に所望の複合キーに対応する値を取得し…
大量のファイル、しかもサイズの大きいものを読み込んで、ある特定の小数の行だけを取り出したいような場合で、その特定の行がいつもファイルの最後に近い位置に出現することが期待できる場合、ファイルを先頭から読み込んで行って、特定の行に達するまで読…
transatonce 単語を翻訳するとき、こういった要求を満たせるサイトがあると良いと思って作っているものです。 いくつかの単語を一度に翻訳したい(英文の記事や論文を読み終わったあとでメモしておいた単語を at once に翻訳したい) それらを一つのページで…
OS X Yosemite (10.10.5) でC(GNU99)でpthreadを用いたマルチスレッドプログラムを書いていて、なかなかerrorが取れなかったときに以下ツイートを起点にした議論を見て、ValgrindのHelgrind toolが使えそうということで使ってみた。 pthread_create に渡した…
うまくいかなくなったビルドが元通りにうまくいくようになったので、とりあえずそのメモ $ env | grep GO GOROOT=/usr/local/Cellar/go/1.5.1/libexec GOPATH=/Users/nishidy/.go $ head -n1 *go ==> count.go <== package ParseWikipediaXML ==> parse.go <…
Erlang(BEAM)のProcessは、他言語でThread.Joinのようなスレッド・プロセスの終了を待つ機能が無さそうなので、Receiveを用いたメッセージパッシングで実装した 今回は、Preforkモデルのように予めProcessをワーカースレッド的に起動しておく実装ではなく、…
ISUCON5のエントリを見てるとたくさん得られることがある。コンテストといっても、実際に課題になった技術は単に知っているだけのものとは違って、手を動かして実際に実装してみないといけないな、と思わせるには十分なインパクトがある。単に知っているだけ…
メモリにデータを格納する際、通常はアラインメントに沿って展開される。ワード単位以上のデータを格納する場合、その開始アドレスがワード単位の整数倍になっていないと、メモリフェッチが余分に発生してスループットが落ちるか、アラインメント違反によっ…
グループコミット MySQLでは、バイナリログへの書き込みのタイミングを、sync_binlogによってユーザが指定することができる。具体的にはsync_binlogの値によって、何回コミットを行ったらバイナリログをディスクにフラッシュするか、を指示するため、sync_bi…
文字コードについて Unicodeは文字集合である。Unicodeで規定される文字を、UTF-8やUTF-16などの符号化方式で扱うことができる(e.g. Shift-JISやEUC-JPは別の文字集合を扱う)。Unicodeでは文字集合を、コードポイントという各文字に対する通し番号のようなも…
すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商品を含むブログを見る Haskellを学ぶ上で難しいのは、その概念が高度に抽象化されている点にある*1。そのた…
WindowsでEmbulkを使う場合はJavaをインストールした上で、Quick startにあるように以下のコマンドでファイルをダウンロードしたものを実行する > PowerShell -Command "& {Invoke-WebRequest http://dl.embulk.org/embulk-latest.jar -OutFile embulk.bat}"…
ConsulはDNSインターフェースを通してノードとサービスの死活監視の状況を提供することができる e.g. ロードバランスのためラウンドロビンしているノード群を問い合わせ結果として提供するとき、問い合わせ結果からダウンしたノード・サービスを動的に外す D…
自分が聞いた2日間の中で良かったトークと、見るべきだったけど見れなかったトークについても載せておいて、次回の教訓にする 単純だけど重要なことは、「直感で見たいと思ったものを優先して見る(なんやかんや深く考え過ぎない)」、「良い人のトークは良…
b2args(1,&pr)というように、実引数のProcオブジェクトに&を付けてb2argsに渡している理由は、b2argsの仮引数に&をつけているため。Procオブジェクトをブロックに変換したものが、b2argsに渡した時点で再度Procオブジェクトに変換される。 yieldは、仮引数の…
ゴーストメソッドを追加。(8/18) オープンクラス、名前無しクラスを追加。(8/15) extend、sendを追加。(8/31) TL;DR classはClassクラスのオブジェクト、moduleはModuleクラスのオブジェクト、である 特異クラスはclass << objectで、あるobjectに特異…
ポリモーフィズムに関する動作をどうすれば機械的に理解できるのかを考えていて何度も失敗して今に至るのだが、今回こそはと絵を作成してみた。JavaとC++(ほぼ同じ)でコードは絵と対応付けて実装している。 Javaであれば、private関数以外はサブクラスにオ…
プログラマによるマニュアル操作 mallocやnewによってヒープ領域のメモリを割り当てたり、freeやdeleteによってそのメモリを解放したり、といった操作を指す。Cではヒープ領域を扱うために必須の操作となる。 これらの関数や演算子で割り当てたメモリは、そ…
理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus)作者: 奥野幹也出版社/メーカー: 技術評論社発売日: 2015/03/10メディア: 単行本(ソフトカバー)この商品を含むブログ (15件) を見る 集合論に関する最初の方…
MySQLサーバはスレッドモデルで動作しており、クライアントからの接続と1:1になるようにスレッドが生成される サーバ上のCPU数を超える同時接続が発生すると、コンテキストスイッチングによってCPUキャッシュのヒット率が下がり、これがパフォーマンスに影響…
プログラミングErlang作者: Joe Armstrong,榊原一矢出版社/メーカー: オーム社発売日: 2008/02/23メディア: 単行本(ソフトカバー)購入: 8人 クリック: 284回この商品を含むブログ (97件) を見る 参考書のコードを実行して検証した P130のkillが捕捉不可と…
sedについて 改行コードを変更したい 改行コードを\nから\r\nに(つまりLinux(LF)からWindows(CR+LF)に)変換したい sed -i 's/\n/\r\n/' file はダメで、sed -i 's/$/\r/' file とする必要がある パターンスペース $(行末)を\r(CR)で変換している…