タグ

Pythonに関するsurume000のブックマーク (60)

  • pythonで小さなツールを作る時のtips - Qiita

    自分で小さいツールを作る時に心に留めているtipsです. 書き始めたときは「どうせ書捨てだし」と思って書き始めると意外と長い間,もしくはいろんなところで使うことになったりするので,気をつけておくと後から楽になるというような小技です.大規模なソフトウェアの開発ではまた違った流儀があると思います. メインルーチンを関数にする 関数名はなんでもいいのですが,自分は趣味で main() という名前の関数を用意し,メインルーチンは全てそこに書くようにしています. pythonの小さなサンプルコードを見たりすると関数外の部分にベタで実行コードが書かれていたりします.もちろんそれでも動くのですが,以下の2点で後々面倒になることがあります. グローバル変数だらけになり管理が追いつかなくなる:「どうせ小さなスクリプトだし」ではじめると最初は見通しが良くてもだんだんどこでどの変数名を使っているか分からなくなっ

    pythonで小さなツールを作る時のtips - Qiita
  • これさえ読めばすぐに理解できる強化学習の導入と実践

    強化学習の位置づけ 教師あり学習 教師なし学習 強化学習 強化学習の応用事例 Atariの攻略 AlphaGo ロボットの自動動作獲得 ファイナンスへの応用 広告配信の最適化 OpenAI Gymを使ってQ-learningを実装してみる 状態 行動 報酬 実装 参考文献 ディープラーニングなどの機械学習技術の進歩によって、過去のデータから学習する技術は大きく進化し、写真の中に写っている対象を認識することや病気の診断、多言語間の翻訳をする性能を著しく向上させることができました。 すでにその性能は専門的な教育を受けた人間の能力と同等 [1] か超えている分野もあるほどです。 一方で、人間にはデータを与えなくとも自ら経験から学び、スキルを上達させることができます。特に何も教えられなくとも、経験からゲームを攻略することやロボットの正しい動作の仕方を学んでいくことができます。 機械学習の中でも、こ

    これさえ読めばすぐに理解できる強化学習の導入と実践
  • Pandasを使ったデータ操作の基本 - ぴよぴよ.py

    データ分析の会社に転職してから3ヶ月。 最初の1ヶ月はPandasの扱いに当に困ったので、 昔メモしてたことを簡単にブログに記録しておく(o ・ω・)ノ 【追記】2017/07/31 0:36 データが一部間違ってたので修正しました Pandasとは pandasでよく使う型 テストデータについて 余談 Pandasでのデータ操作入門 pandasのload データ(csv)のロード データのサイズ データのカラム 行列から必要な列(カラム)を取り出す 条件にマッチするデータを取り出す 1. DataFrame.queryで取り出す True/FalseのSeries型を指定し、Trueの行だけを取り出す 追記(2017/12/14) 行列から必要な行番号を指定してを取り出す グループ分けと集計 新たな列を追加する 固有値を追加する 他の列を加工して新たな列を作る 他の複数列を加工して新

    Pandasを使ったデータ操作の基本 - ぴよぴよ.py
    surume000
    surume000 2017/08/09
    いいまとめ!
  • Pythonの可視化ツールはHoloViewsが標準になるかもしれない - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Pythonの可視化ツールはHoloViewsが標準になるかもしれない - Qiita
  • Webページのスクレイピングと分析・可視化 - Qiita

    先日、2016年アドベントカレンダーのはてブ数の分析というブログ記事を投稿した。このデータの可視化には様々な技術が使われている。記事では、どのような技術を活用して作成したのかについて説明する。 ソースコードはこちら。 概要 このVizは、QiitaとAdventarに投稿された、全アドベントカレンダー及びそこに登録された記事のはてなブックマーク数を元に、どのカレンダーや記事が人気なのか、あるいはQiitaとAdventarのどちらが人気なのかを視覚化することを目的として作成された。データソースは、Qiita及びAdventarに登録された、アドベントカレンダー2016の全カレンダーページである。カレンダーには記事のメタデータが含まれている。記事そのもののページやユーザページのクロールはしていない。 システムの概要 データの収集→ETL→BIという流れで処理を行った。 データ収集 Webク

    Webページのスクレイピングと分析・可視化 - Qiita
  • 【野球Hack】エースの調子が悪くて心配なのでPython+pandas+matplotlibで可視化してみた - Lean Baseball

    一ヶ月ぶり、こちらのエントリーの続編です。 shinyorke.hatenablog.com こちらで作ったデータですが、その後も粛々とデータの分析に使ったり追加要件の開発を行ったりしてる訳ですが*1、つい最近このデータを使って新しいネタを作ったので簡単に紹介します。 Python+pandas+matplotlibで先発エースの勝ち星を月別で集計&グラフ化してみた キッカケとテーマ はじめてのpandas matplotlibで可視化 結論 【Appendix】参考文献 キッカケとテーマ 私は現実の野球もゲームの野球も大好きで、時間を見つけては一球速報やらオンデマンドで中継を見てるのですが*2、ある日こんなことに気が付きました。 シカゴ・カブスのエース左腕、ジョン・レスター*3投手の4月成績が酷い。4試合投げて0勝2敗防御率6.23とは何事だ! しかし、レスターはここ5年安定した成績を残

    【野球Hack】エースの調子が悪くて心配なのでPython+pandas+matplotlibで可視化してみた - Lean Baseball
  • PyConJP2016: 週末サイエンティストのススメ

    2. Yuta Kashino • BakFoo, Inc. CEO • Astro Physics /Observational Cosmology • Zope / Python • Realtime Data Platform for Enterprise

    PyConJP2016: 週末サイエンティストのススメ
  • 機械学習初心者が『Python 機械学習プログラミング』(速習コース)を読んだメモ - 無印吉澤

    きっかけ この記事を書いた人のレベル 今回の読書プラン Python 環境の構築 インストール先の環境 Anaconda (Python 3) のインストール 科学計算に関するライブラリのインストール サンプルの実行に必要なライブラリのインストール サンプルの実行 サンプルコードを実行していて引っかかったところ 3章 12〜13章 Python の勉強 速習コースを読んでみた感想 きっかけ 機械学習の重要性は、それこそ「ビッグデータ」という言葉が出てきた頃からいろいろな人が訴えていますが、最近は特にツールが充実して、敷居が下がってきたように感じています。 そろそろ自分でも機械学習関係のツールを使えるようになりたいと思っていたのですが、そんなときに「具体的なコード例が多くて読みやすい」という書の評判を聞いて、読み始めました。 Python機械学習プログラミング 達人データサイエンティストに

    機械学習初心者が『Python 機械学習プログラミング』(速習コース)を読んだメモ - 無印吉澤
  • PythonのUnicodeEncodeErrorを知る - HDEラボ

    Pythonにはじめて触って、いつのまにか1年が過ぎたのですが、一番はまったのは、やっぱりunicodeの扱いだったと思います。 特に、 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128) のようなエラーにはさんざん悩まされました。ここがたとえばrubyなど他の言語と比べてわかりにくいために、Pythonが取っつきにくい言語になっているのではないか、と個人的には思います。 そこで、このエラーに関係するはまりどころとTipsをいくつか列挙してみました。これからPythonに触れられる方の参考になればと思います。 なお、環境はUNIX上のPython 2.4, 2.5を想定しています。 u1はunicode型で、s1はstr型です。s1にどのよ

    surume000
    surume000 2016/07/16
    何言ってんのかワカンネw
  • PythonでさくっとWebスクレイピングする (JavaScript読み込みにも対応しつつ) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    PythonでさくっとWebスクレイピングする (JavaScript読み込みにも対応しつつ) - Qiita
  • Pythonでクローリング・スクレイピングに使えるライブラリいろいろ - orangain flavor

    2016-12-09追記 「Pythonクローリング&スクレイピング」というを書きました! Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド- 作者: 加藤耕太出版社/メーカー: 技術評論社発売日: 2016/12/16メディア: 大型この商品を含むブログを見る これはクローラー/スクレイピング Advent Calendar 2014の7日目の記事です。 Pythonでクローリング・スクレイピングするにあたって、いろいろなライブラリがあるので一覧でまとめてみます。 以下の4つのカテゴリにわけて紹介します。 Webページを取得する Webページからデータを抜き出す Webページの自動操作 総合的なフレームワーク なんでこれが載ってないの?この説明はおかしい!などありましたらお気軽にお知らせください。なお、この記事はいろいろなライブラリを紹介することを目

    Pythonでクローリング・スクレイピングに使えるライブラリいろいろ - orangain flavor
  • 画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD

    この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、PythonOpenCVPython 2.7 ^(1) 、iPy

    画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD
  • Effective Pythonを読んで心に響いたこと - MyEnigma

    Effective PythonPythonプログラムを改良する59項目posted with カエレバBrett Slatkin オライリージャパン 2016-01-23 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 はじめに Pythonのランタイムの種類 プライベート属性はアンダーバーを2つ先頭におく リストや文字列の空判定にlenなどは使わない mapやfilterよりもリスト内包表記を使う rangeよりはenumarateを使う オプションのキーワード引数は、位置ではなくキーワードで与えるとコードが読みやすい どんなクラスオブジェクトでも__dict__ですべてのフィールド辞書にアクセスできる Pythonコードのプロファイルを取るにはcProfileを使うと便利 参考資料 MyEnigma Supporters はじめに 以前、C++の名著Ef

    Effective Pythonを読んで心に響いたこと - MyEnigma
  • 「スマートPythonプログラミング」という本を書きました - CUBE SUGAR CONTAINER

    表題の通り Pythonを書いたので、そのご紹介です! スマートPythonプログラミング: Pythonのより良い書き方を学ぶ 作者: もみじあめ発売日: 2016/03/12メディア: Kindle版この商品を含むブログ (1件) を見る どんななの? ひと言で表すと、自信を持って Python を書けるようになるためのです。 スマートPythonプログラミングなので、略してスマパイって呼んでください。 こんな人におすすめ なんとなく書いてなんとなく動いているコードに不安を覚えている方 入門書は読み終わったけど次に何をして良いか分からない方 Python の初心者から中級者にステップアップしたい方 ベストプラクティスとかアンチパターンって言葉が好きな方 上記に当てはまる方には、書が少しでも参考になると思います。 どんなことが書いてあるの? 自分が Python を学び始めた

    「スマートPythonプログラミング」という本を書きました - CUBE SUGAR CONTAINER
  • PythonでPandasのPlot機能を使えばデータ加工からグラフ作成までマジでシームレス - Qiita

    Pandasのグラフ描画機能 この記事ではPandasのPlot機能について扱います。 Pandasはデータの加工・集計のためのツールとしてその有用性が広く知られていますが、同時に優れた可視化機能を備えているということは、意外にあまり知られていません。 この機能は Pandas.DataFrame.plot() もしくは Pandas Plot と呼ばれるものです。 Pandas Plotを使いこなすことが出来るようになれば、 データの読み込み、保持 データの加工 データの集計 データの可視化 というデータ分析の一連のプロセスを全てPandasで完結させることが出来る、つまり分析の「揺りかごから墓場まで」を実現することが出来ます。 Pandasのプロット以外の機能について この記事ではPandasのデータハンドリングなどに関わる機能は説明しません。 そちらにも興味がある方は下記の記事などを

    PythonでPandasのPlot機能を使えばデータ加工からグラフ作成までマジでシームレス - Qiita
  • Jupyter (iPython) Notebookを使って技術ノート環境を構築する方法 - MyEnigma

    PythonユーザのためのJupyter[実践]入門posted with カエレバ池内 孝啓,片柳 薫子,岩尾 エマ はるか,@driller 技術評論社 2017-09-09 Amazonで最安値を探す楽天市場で最安値を探すYahooショッピングで最安値を探す 目次 目次 はじめに Jupyter Notebook (iPython Notebook)とは? インストール Notebookデータのバックアップ&マルチアカウントアクセスする設定 Jupyter Notebookのショートカット コマンドモードのショートカット Editモードのショートカット セルを上から全部実行する Markdownで文章を入力する 数式を入力する 数式の計算をする 画像をドロップアンドドラッグで挿入できるようにする 目次を見出し情報から自動生成する レポートタイトルを入力する方法 PDFに出力する Ma

    Jupyter (iPython) Notebookを使って技術ノート環境を構築する方法 - MyEnigma
  • Python 3誕生の理由 ― つまり、なぜunicode/str/bytesの仕様は変更されたのか | POSTD

    12月、私は PuPPy(the Puget Sound Python users group)の会合でQ&A セッション を行いました。そこでようやくPython 3が誕生した理由と、string/bytesに関する全てを説明しました。Python 3が作られた理由をユーザはもう知っているはずだと思っていたので、私はこの説明で称賛を得たことに、ちょっと驚きました。後で考えてみると、Pythonに詳しい人もそうでない人も含めて大多数の人が、その理由を探すように言われたり、好奇心からその理由を探し当てられるなどと考えた私が愚かでした。ですから、このブログの記事で、Python 3が存在する理由をわかりやすく説明します。後方互換性の全くない unicode / str / bytes の仕様変更は、Python 3のコードの移植の中でも当に難解な部分ですので、私たちがその仕様変更を選択した理

    Python 3誕生の理由 ― つまり、なぜunicode/str/bytesの仕様は変更されたのか | POSTD
    surume000
    surume000 2016/01/27
    “あることを行う方法は、わかりやすく、できれば1つだけにすること”俺もそう思う。RubyとかScalaとかはそれとは違う考えのような気がする。
  • Pythonで書ける便利な書き方を紹介します。 - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は元気です。 今日はPythonにおける便利記法を書いてみます。 他の言語しか使ったこと無い人もぜひ ※1/25間違いかと思われる箇所の加筆修正を実施 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) zip(同時に2つのオブジェクトでループ) yield(途中で一旦返す) for-else(forで途中で停止しない場合の条件) リスト内包表記 Collections Counter default dict(辞書のデフォルト値設定) Sort(ソート) sorted if文の書き方 Fileに関する処理(with) in(オブジェクトに存在しているかどうか) 関数について 返り値を複数返す。 関数のオブジェクト化 参考文献 リストに関するイテレーション enumerate(インデックスとオブジェクトのループ) enu

    Pythonで書ける便利な書き方を紹介します。 - のんびりしているエンジニアの日記
    surume000
    surume000 2016/01/25
    “if 100 > a > 10:”これ素敵
  • PythonでブログのHTMLから本文抽出 2015 - orangain flavor

    2015-12-20 19:14追記: readabilityの説明を追加・修正しました。 Webページをクロールした時に、ざっくりと文 (ページ内の重要なコンテンツ) のみを抽出できると便利です。 Google検索すると、特に日語だとExtractContent以外の情報があまり見つかりません。 ExtractContentは昔使ったことがあり、たしかに便利なのですが、公開が2007年と若干古いので今でも使えるのかという疑問がありました。また、Pythonで他の選択肢として使えるライブラリは、非日語圏の方が作ったものと思われるので、日語のページで問題なく使えるのか知りたかったので調べてみました。 比較するライブラリ 比較したのは以下の5つのライブラリです。 dragnet eatiht extractcontent goose readability パッケージ名 dragnet

    PythonでブログのHTMLから本文抽出 2015 - orangain flavor
  • 現代のエンジニアのための強力なメモ帳 Jupyter notebookのすゝめ - クックパッド開発者ブログ

    会員事業部の有賀(id:chezou)です。 今年一年、社内では勝手に"Jupyterの伝道師"を標榜してJupyter notebookの普及活動を展開してきました。 先日、社内でハンズオンも行ったおかげもあり、かなり社内のマシンにPython環境が構築されてきました :) Jupyter notebookとは? ひとことで言うとブラウザで動くすごい便利なREPL*1です。 百聞は一見にしかず、見てみましょう。 このように、Rubyの対話環境であるpryを触っているようにインタラクティブにコードを書くことができます。 以降で説明をしますが、Jupyter notebookは記録・共有・再現がとても得意です。特に図表があるときにその効果を発揮します。 Jupyter notebookの良い所 過去のコードを改変、再実行できる セルと呼ばれる入力部分にはMarkdownやコードが記述できます

    現代のエンジニアのための強力なメモ帳 Jupyter notebookのすゝめ - クックパッド開発者ブログ