タグ

pythonに関するpetitvioletのブックマーク (105)

  • PythonでWebスクレイピングする時の知見をまとめておく - Stimulator

    - はじめに - 最近はWebスクレイピングにお熱である。 趣味機械学習のデータセット集めに利用したり、自身のカードの情報や各アカウントの支払い状況をスクレイピングしてスプレッドシートで管理したりしている。 最近この手の記事は多くあるものの「~してみた」から抜けた記事が見当たらないので、大規模に処理する場合も含めた大きめの記事として知見をまとめておく。 追記 2018/03/05: 大きな内容なのでここに追記します。 github.com phantomJSについての記載が記事内でありますが、phantomJSのメンテナが止めたニュースが記憶に新しいですが、上記issueにて正式にこれ以上バージョンアップされないとの通達。 記事内でも推奨していますがheadless Chrome等を使う方が良さそうです。 - アジェンダ - 主に以下のような話をします。 - はじめに - - アジェンダ

    PythonでWebスクレイピングする時の知見をまとめておく - Stimulator
  • http://liuchengxu.org/posts/use-vim-as-a-python-ide/

    http://liuchengxu.org/posts/use-vim-as-a-python-ide/
  • 【Tips】Lambda(Python)でハンドラーのeventを全て辞書型だと思っていたらハマったこと | DevelopersIO

    森永です。 物凄いハマったんですが、解決してみればそこかよという案件です。 Lambda使いこなしている人だとあるあるなのかもしれません。 問題 イベントソースがSNSで起きた事象です。(他のイベントソースでも起こる可能性はあります。) SNSからは以下のようなjsonがイベントとして送られてきます。(かなり端折ってます) いや、送られてくると思ってました。 { "Records": [ { "Sns": { "Timestamp": "2016-11-17T08:34:04.436Z", "Message": { "Trigger": { "Dimensions": [ { "name": "key", "value": "value" } ] } } } } ] } Lambdaのハンドラーにeventというパラメータがあります。 イベントソースから送られてきた情報などが記載されている

    【Tips】Lambda(Python)でハンドラーのeventを全て辞書型だと思っていたらハマったこと | DevelopersIO
  • メタプログラミングPython

    Use the left and right arrow keys or click the left and right edges of the page to navigate between slides. (Press 'H' or navigate to hide this message.)

    メタプログラミングPython
  • シンプルなコンテンツベースのレコメンデーション・エンジンをPythonで実装する | POSTD

    ECサイト向けのレコメンデーション・エンジンを構築すると仮定しましょう。 構築する方法としては、コンテンツベースか協調フィルタリングを使用する2つの進め方があります。それぞれのメリットとデメリットを見てみましょう。そして、コンテンツベースエンジンを 簡単に実装する方法 について探りましょう(Herokuにデプロイ可能です)。 コンテンツベースを使用するとどのようになるのか先に知りたい方は、ほぼ同じレコメンデーション・エンジンが Groveの商品(紹介)ページで使用 されていますので、見てみてください。 コンテンツベースのレコメンデーション・システムはどのように機能するのか 商品説明や商品名、価格などの実際のアイテムプロパティなどが使用されるため、コンテンツベースシステムで構築されていると周りには思われているのではないでしょうか。これまで一度もレコメンデーション・システムの使用を検討したこと

    シンプルなコンテンツベースのレコメンデーション・エンジンをPythonで実装する | POSTD
  • 機械学習の分類の話 · chezou/notebooks · GitHub

    機械学習の分類の話 · chezou/notebooks · GitHub
  • Pythonのメモリ使用量を減らすポイント - Qiita

    今回は、iXce’s blog » Blog Archive » Optimizing memory usage in Python: a case study という記事を見つけて興味深かったので紹介したいと思います。何も説明書いてないところがあるので、詳しく知りたい人は元記事を読んでほしいです。 動機 プレーンテキストをGコードに変換するプログラムを書いている 3.8MB (14万Gコード) のファイルを読み込むと、244MBもメモリを使ってしまう だからメモリ使用量を減らしたい やったこと プロファイル どこがメモリをたくさん使ってるのか調べるためにHeapyを使う $ pip install guppy で入れられる。 するとこんな感じの結果が出力される。 Partition of a set of 225737 objects. Total size = 115386656 by

    Pythonのメモリ使用量を減らすポイント - Qiita
    petitviolet
    petitviolet 2016/04/24
    delとslotsはよく使ってた
  • Python3.0からPython3.5での変更点 - Qiita

    はじめに この記事は、Python その2 Advent Calendar 2015の16日目の記事です。 注意 今回は、 新しいモジュール 改良されたモジュール 非推奨のモジュール 最適化 IDLE ビルドとC API 内部のオブジェクトについてなどなど については触れないこととし、Pythonの文法やプリミティブ型などの質に近い部分のみの紹介にしようと思います。(幾つか触れている部分があるのでその場合は飛ばしてください・・) 最後のほう、時間がなくて雑になってますがお許しを・・・。 Python3.0 -> Python3.1 順序付き辞書 collections.OrderedDictクラスが導入されました。 挿入された順序を覚えている辞書、という感じです。 from collections import OrderedDict >>> {2:"a", 1:"b", 3:"c"}.

    Python3.0からPython3.5での変更点 - Qiita
  • R vs Python:データ解析を比較 | POSTD

    主観的な観点からPythonとRの比較した記事は山ほどあります。それらに私たちの意見を追加する形でこの記事を書きますが、今回はこの2つの言語をより客観的な目線で見ていきたいと思います。PythonとRを比較をしていき、同じ結果を引き出すためにはそれぞれどんなコードが必要なのかを提示していきます。こうすることで、推測ではなく、それぞれの言語の強みと弱みの両者をしっかりと理解できます。 Dataquest では、PythonとRの両方の言語のレッスンを行っていますが、データサイエンスのツールキットの中では両者ともそれぞれに適所があります。 この記事では、NBA選手の2013/2014年シーズンの活躍を分析したデータセットを解析していきます。ファイルは ここ からダウンロードしてください。解析はまずPythonとRのコードを示してから、その後に2つの異なるアプローチを解説し議論していきます。つま

    R vs Python:データ解析を比較 | POSTD
  • Pythonで本文抽出 - 西尾泰和のはてなダイアリー

    Pythonでウェブページから文抽出がしたくて、ググったら弊社の中谷のWebページの文抽出 (nakatani @ cybozu labs)をPythonに移植したもの(yono/python-extractcontent)が見つかったのでとりあえずそれを使ってみたんだけど、Google Ad Sectionがついていて100%の成功率のはずのこのブログを対象にして文抽出に失敗して空文字列を返してくるので、あれれおかしいなー、と思ったら。 https://github.com/yono/python-extractcontent/blob/master/extractcontent.py#L80 いや、正規表現の途中で改行するんだったらVERBOSEオプションが必要ですよ。(?isx)するなりre.compileでre.VERBOSEつけるなり、もしくは文字列分割して改行が入らなくす

    Pythonで本文抽出 - 西尾泰和のはてなダイアリー
    petitviolet
    petitviolet 2015/10/09
    forkしたやつにstar付いたのなんでかと思ったら紹介してもらってた
  • セッション一覧 - PyCon APAC 2013

    Pythonライブラリのパッケージング、配布方法は現在も状況がめまぐるしく変化し、どの方法でどのツールを使うのかわかりにくくなっています。

    セッション一覧 - PyCon APAC 2013
  • Flask でアプリケーションを作る際のメモ(2015 年版) - Memo

    Flask でアプリケーションを作る際のメモ - Memo の 2015 年版 ディレクトリ構造 . ├── __init__.py ├── app.py ├── configs │ ├── __init__.py │ └── settings.py ├── errors.py ├── extensions │ ├── __init__.py │ ├── injector.py │ └── permission.py ├── forms ├── i18n ├── models │ ├── __init__.py │ ├── db.py │ ├── entities │ └── mappers ├── static │ ├── css │ ├── fonts │ ├── img │ └── js ├── templates │ ├── admin │ └── frontend ├── tes

    Flask でアプリケーションを作る際のメモ(2015 年版) - Memo
  • Python: Flask のエラーハンドラについて

    Flask にはエラーハンドラという機構がある。 これは Web アプリケーションの中でハンドルされなかった例外を HTTP のレスポンスに変換するというものだ。 つまり、どれだけ呼び出しの深い場所にいてもエラーが起こったときには例外さえ上げればクライアントに適切なレスポンスが返るという便利な仕組み。 同様の機構は、他の Web アプリケーションフレームワークでも JAX-RS (Java) の例外マッパーや Pyramid (Python) の例外ビューとして見られる。 今回はその便利なエラーハンドラについて書いてみる。 まずは何はともあれ Flask をインストールする。 $ pip install flask 最初のサンプルコードは 404 エラーをレスポンスに変換するというものだ。 エラーハンドラが登録されていない場合はデフォルトのエラーメッセージが HTML で返ることになるが、

    Python: Flask のエラーハンドラについて
  • 続Pythonによるwebスクレイピング入門

    スタートアップの企業文化 (Startup Culture) についてのスライドです。 企業文化やビジョンをスタートアップの初期から気にするべきかどうかは悩ましいところですが、Y Combinator の Jessica Livingston のいうとおり、企業文化はその設立当初から自然と育っていってしまうものだなと 2, 3 人のスタートアップを見てても思います。であれば、初期から考えるためのある程度の情報はあっても良いのかなと思い、今回スライドをまとめました。 企業文化はかなりソフトな概念なので、そもそも把握しづらい上に何が良くて何が悪いのかも分かりにくく、さらに簡単に変えたり作り上げたりできるものではありません。それに加えて、良い(望ましい、心地の良い)企業文化があるからといって、その企業の成功が約束されるわけではありません。 ただ様々な研究を見てみても、良い企業文化は生産性向上や採

    続Pythonによるwebスクレイピング入門
  • Why is [] faster than list()?

    Because [] and {} are literal syntax. Python can create bytecode just to create the list or dictionary objects: >>> import dis >>> dis.dis(compile('[]', '', 'eval')) 1 0 BUILD_LIST 0 3 RETURN_VALUE >>> dis.dis(compile('{}', '', 'eval')) 1 0 BUILD_MAP 0 3 RETURN_VALUE list() and dict() are separate objects. Their names need to be resolved, the stack has to be involved to push the arguments, the fra

    Why is [] faster than list()?
  • Python 3.5、async/await非同期プログラミングをサポート予定

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Python 3.5、async/await非同期プログラミングをサポート予定
  • あなたのPythonを爆速にする7つの方法

    最近プロコン(プログラミング・コンテスト)をはじめました。 基的にはアルゴリズム勝負なのですが、とにかく速度を競うプロコンです。 小手先の速度チューニングもバカにできません。 何が速くて何が遅いのかはっきりさせるため、ボトルネックになりそうな操作のベンチマークを取りました。 実行環境は下記のとおりです。 python2.7.5 OS: MacOSX 11 CPU: Core i7 2GHz (4core) MEM: 16GB その1. 配列の初期化を高速化する まずはプロコンの基中の基、配列の初期化です。 下記7つの初期化方法を比較してみます。 空配列へappendして配列をつくる for内包表記で配列をつくる サイズ1(None)の配列を乗算してから値を代入する サイズ1(None)の配列を乗算する サイズ1(ゼロ)の配列を乗算する すべてゼロのarrayをつくる 0〜nのarra

    petitviolet
    petitviolet 2015/05/08
    事前にコンパイルしない正規表現、1つしかないなら勝手にキャッシュされてコンパイルされたのと同等の扱いになってた気がする
  • The Little Book of Python Anti-Patterns — Python Anti-Patterns documentation

    Welcome, fellow Pythoneer! This is a small book of Python anti-patterns and worst practices. Learning about these anti-patterns will help you to avoid them in your own code and make you a better programmer (hopefully). Each pattern comes with a small description, examples and possible solutions. You can check many of them for free against your project at QuantifiedCode. Why did we write this?¶ Sho

    The Little Book of Python Anti-Patterns — Python Anti-Patterns documentation
    petitviolet
    petitviolet 2015/04/25
    これよさそう
  • Flaskのカスタマイズについて - methaneのブログ

    2012 Pythonアドベントカレンダー(Webフレームワーク) #python_adv の5日目の記事です。 明日は @altnight にお願いします。 Flaskはオモチャじゃないよ PyCharmなどのIDEがFlaskに対応を始めたり、Flask はそろそろ Django に続く Python の Web フレームワーク No.2 と名乗れそうなほど広まってきています。(その割にPython3対応遅いけど) Flaskと言えばマイクロフレームワーク、Hello World が簡単に書けるヤツで有名ですよね。 import flask app = flask.Flask(__name__) @app.route('/') def index(): return "Hello, World." app.run(debug=True) これを見るとオモチャっぽく見えるんですが、Fla

    Flaskのカスタマイズについて - methaneのブログ
  • Debug a running Python process without printf

    Last week, in the wonderful what did I learn today series, I’ve added Python debugging with GDB to my problem solving arsenal thank to Greg being back from a well deserved vacation. Gdb is definitely not the tool I would have used to debug an interpreted language like Python, but it has a few great bindings that makes it perfect to follow the Python source inside a running process. To do this, you

    Debug a running Python process without printf
    petitviolet
    petitviolet 2015/01/27
    便利そう