タグ

pythonに関するphareのブックマーク (95)

  • Python のログ出力における文字列フォーマット | I Was Perfect

    背景 デバッグログとかで、 log.debug('foo = {}'.format(foo)) と書くことがあると思う。これについて Pylint が W1202: Use % formatting in logging functions and pass the % parameters as arguments と警告(Conventionではない)を出してくるのが気になっていた。このStackoverflow によれば、 log.debug('foo = %s', foo) と書けば良いようだが1、なぜ警告を出してまでこれに統一したいのかがわからない。ので調べた。 .format() と % フォーマットの違い Pylint にこの Warning が追加されたときのプルリクエスト を見ると2、 Because the message will be evaluated (inte

    phare
    phare 2021/10/19
  • 【小ネタ】PythonのライブラリRequestsからPOSTリクエストを発行する際にリクエストヘッダからContent-Typeを削ってみた | DevelopersIO

    CX事業部@大阪の岩田です PythonのライブラリRequestsを利用してPOSTリクエストを発行する際リクエストヘッダからContent-Typeを削除するという一風変わった要件に対応したので、実装手順をメモとして残しておきます 背景 Pythonのコードから外部のAPIを呼び出す必要があったのですが、そのAPIの仕様が HTTPメソッドはPOST クエリストリングを使用している リクエストボディも利用している リクエストボディはapplication/x-www-form-urlencoded形式でセットする必要がある という仕様でした。これだけなら良かったのですが、このAPIは「リクエストヘッダにContent-Typeがセットされていると正常に処理できない」という問題を抱えていました。外部APIの実装詳細は不明なのですが、どうもJavaのServletRequestの使い方が

    【小ネタ】PythonのライブラリRequestsからPOSTリクエストを発行する際にリクエストヘッダからContent-Typeを削ってみた | DevelopersIO
    phare
    phare 2021/06/30
    requstの低レベルなAPIを使う
  • pip-chillのススメ - podhmo's diary

    pypi.org pip freeze で出力されるすべてをrequirements.txtに書く1のではなく、依存の一番外側のパッケージだけを出力したい事がある。そういうときにはpip-chillが便利。 実行例 例えば、fastapiを参考に以下の様なrequirements.txtを用意してみる。 requirements.txt uvicorn fastapi 空のvenvを作ってpip installしてみる $ python -m venv venv $ ./venv/bin/pip install -r requirements.txt freeze freezeの内容は以下 $ ./venv/bin/pip freeze asgiref==3.3.4 click==8.0.1 colorama==0.4.4 fastapi==0.65.2 h11==0.12.0 pip-c

    pip-chillのススメ - podhmo's diary
    phare
    phare 2021/06/24
  • pythonのクラスの第一引数に書いてるself, object, cls, typeの意味について

    質問をすることでしか得られない、回答やアドバイスがある。15分調べてもわからないことは、質問しよう!新規登録して質問してみよう

    pythonのクラスの第一引数に書いてるself, object, cls, typeの意味について
    phare
    phare 2021/04/27
  • Python用Google APIクライアントライブラリのImportエラーが発生してしまう問題をなんとかする | DevelopersIO

    データアナリティクス事業部@札幌の佐藤です。 突然ですが皆さんは『アイカツオンパレード!』はご覧になっているでしょうか。 『アイカツオンパレード!』はアイカツ!シリーズの歴代メインキャラクターだけではなくゲストキャラまで大集合するお祭りアニメです。 今までのダンスCGもたくさん出てくるので、毎週土曜日10時30分からテンションが上がります。 最終回が3月28日なのでぜひご覧ください。 また突然ですが、公式YouTube「アイチューブ」にて『アイカツオンパレード!ドリームストーリー』が3月28日から放送されることはご存じでしょうか。 『アイカツオンパレード!』の特別編として配信されます。 舞台がドリームアカデミーになっており、主人公が音城ノエルということで往年のアイカツ!ファンの方には吉報だったと思います。 アニメがテレビからYoutubeに移り変わったということもあり、どれだけ視聴された

    Python用Google APIクライアントライブラリのImportエラーが発生してしまう問題をなんとかする | DevelopersIO
  • Python3.8の新機能(2) - 代入式の導入 - Qiita

    はじめに 2019年10月にリリースを予定しているPython3.8で新たに加わる変更をPython3.8の新機能 (まとめ)という記事でまとめ始めました。その中で比較的分量のある項目を別記事に切り出すことにしましたが、その第二弾として代入式(Assignment Expressions)の導入を取り上げてみたいと思います。 なお、この変更は現時点でまだWhat’s New In Python 3.8には載っていないのですが、PEP-572で提案されている内容が既に開発版で実装されており、このコメントからも3.8a1に入ってきそうなので書いちゃいます。 式と文 「『代入式の導入』って、そもそもpython には普通に代入文があるじゃん」って思われた方もいるかも知れません。式と文で何が違うのか。ググれば丁寧に解説しているサイトがすぐに見つかると思うので、ここではその違いをごく簡単に書いてみた

    Python3.8の新機能(2) - 代入式の導入 - Qiita
    phare
    phare 2019/08/09
     “<変数> := <式>の形で変数への代入を式に埋め込むことができます”
  • ネストされた辞書の操作

    Modifying keys and values in nested dictionaries in pythonStackOverflow まあ,色々なやり方が考えられて,辞書内包表記なら, pet_dictionary = { 'Buford':{'color':'white', 'weight': 95, 'age':'3', 'breed':'bulldog' }, 'Henley':{'color':'blue', 'weight': 70, 'age':'2', 'breed':'bulldog' }, 'Emi':{'color':'lilac', 'weight': 65, 'age':'1', 'breed':'bulldog' }, } d = { v['age']: {**{'name': k}, **{x: y for x, y in v.items() i

    ネストされた辞書の操作
    phare
    phare 2018/02/01
  • Python3 + google-api-python-clientで、Gmail APIを使ってメールを送信する - メモ的な思考的な

    前回はPythonの標準ライブラリを使って、Gmailからメールを送信しました。 Python3.5 + smtplib.SMTP_SSL.send_message()で、Gmailからメールを送信する - メモ的な思考的な ただ、Googleアカウント名とパスワードをスクリプト上に書いておく必要があったため、何となく嫌な感じでした。 調べてみたところ、GmailのGmail APIを使うことで、Googleアカウントのパスワードの記載が不要になることがわかったため、今回試してみます。 目次 環境 事前準備 Google Developers Console で Gmail API を有効化 アプリケーション環境の準備 実装 認証部分 メッセージの作成 ブラウザでの許可 ソースコード その他 Gmail APIのリミットについて GoogleのOAuth2.0について 環境 Windows

    Python3 + google-api-python-clientで、Gmail APIを使ってメールを送信する - メモ的な思考的な
  • pandas のデータを stack、unstack する-python | コード7区

    と書いてありますが、やっぱりよく判りません。 Series で使ってみる Series で使えるのは unstack のみです。また、インデックスが階層化されている場合にかぎり有効です。 データ 階層型インデックスの Series に、2次元の情報をを持たせます。 from pandas import Series ss = Series([1,2,3,4,5], index=[['AA','AA','AA','BB','BB'], ['test1','test2','test3','test1','test3']]) #---------------------------- # AA test1 1 # test2 2 # test3 3 # BB test1 4 # test3 5 #---------------------------- ↑ ↑ インデックスが2階層

  • VIM and Python – A Match Made in Heaven – Real Python

    It has come to my attention that somebody ‘round these parts has been preaching the gospel of Sublime Text 3. As the resident senior developer (err, old fogey), I feel it’s my duty to tell you about the only TRUE Python development environment you will ever need: VIM. That’s right. VIM is ubiquitous and fast, and it never crashes. It can also do just about anything! On the down side though, VIM ca

    VIM and Python – A Match Made in Heaven – Real Python
    phare
    phare 2017/11/29
  • 異常検知ライブラリを作ってみた - Fire Engine

    今回の記事は、前職消防士でゼロからプログラミングを始めた超未熟者の私が、異常検知ライブラリを作った話です。 なぜ作ったか マインド的背景 消防士を辞めてエンジニア転職してから1年、いろんな技術に触れました。TensorFlow、scikit-learn、Dockerなどなど、必死になって使い方を覚えました。しかしだんだん、「これ、コマンド覚えてるだけで自分に何も技術身についてなくない?」という疑問や焦りが湧いてきて、自分は便利なツールを使いこなせるようになりたいんじゃなくて、いつの日かみんなが使って便利なツールを作る側になりたいんだ、ということに気づきました。そのような思いから今回初めてライブラリを作り、公開してみました。 データサイエンス的背景 世の中は時系列データで溢れています。ビジネスの場において、データの何かしらの変化の兆候を捉えて、いち早く意思決定をしたいという場面がよくありま

    異常検知ライブラリを作ってみた - Fire Engine
  • Pythonではじめる強化学習 - Qiita

    はじめに みなさん、強化学習してますか? 強化学習はロボットや、囲碁や将棋のようなゲーム、対話システム等に応用できる楽しい技術です。 強化学習とは、試行錯誤を通じて環境に適応する学習制御の枠組みです。教師あり学習では入力に対する正しい出力を与えて学習させました。強化学習では、入力に対する正しい出力を与える代わりに、一連の行動に対する良し悪しを評価する「報酬」というスカラーの評価値が与え、これを手がかりに学習を行います。以下に強化学習の枠組みを示します。 エージェントは時刻 $t$ において環境の状態 $s_t$ を観測 観測した状態から行動 $a_t$ を決定 エージェントは行動を実行 環境は新しい状態 $s_{t+1}$ に遷移 遷移に応じた報酬 $r_{t+1}$ を獲得 学習する ステップ1から繰り返す 強化学習の目的は、エージェントが取得する利得(累積報酬)を最大化するような、状態

    Pythonではじめる強化学習 - Qiita
  • 特異スペクトル変換法による時系列データの異常検知(Python) - Fire Engine

    はじめに 今回は、特異スペクトル変換法というアルゴリズムをPythonで実装します。このアルゴリズムは時系列データの異常検知に対して非常に強い力を発揮します。また、ハイパーパラメータ(人が調整する必要のあるパラメータ)が少なく、比較的チューニングが容易であることも特徴の一つです。数学の理論については深追いはせず、アルゴリズムの概要と実装まで書いていきたいと思います。 【目次】 はじめに 時系列データについて 時系列データの異常と変化点検知 特異スペクトル変換法の概要 履歴行列とテスト行列 特異値分解 変化度の定義 Pythonによる実装 特異スペクトル変換法の課題 おわりに 時系列データについて 時系列データとは、時間の推移ととともに観測されるデータのことです。昨今、様々な企業がデータ活用を推進していますが、世の中の実務の現場に貯まっていく多くのデータは時系列のデータです。 データ分析にお

    特異スペクトル変換法による時系列データの異常検知(Python) - Fire Engine
    phare
    phare 2017/10/14
  • データクレンジングとかクォリティチェックとかの話 - astamuse Lab

    いつもご覧いただき誠にありがとうございます。 ご存知のとおり?弊社は世界最大級のイノベーションデータベースを保有しており、中にはクラウドファンディング、科研費データ、特許データなど様々なデータが含まれてます。 普段仕事上データを入手してから弊社DBに入れるまでのプロセス(所謂Data Preparation的な?)を担当するので、今日はその辺で役たちそうなネタにしようかと思います。 データの種類が多い分、それぞれ元データの入手ルートによってはノイズが含まれていることもございます。 例えば科研データはクォリティが高いのですが、クラウドファンディングはデータの性質(個人もプロジェクトを起こすことが出来る)上どうしてもノイズが含まれたりする場合があります。 そのようなデータを弊社データベースに入れる前にデータの品質管理をきちんと行い、ノイズを排除する必要があります。 その為のツールとしてデータク

    データクレンジングとかクォリティチェックとかの話 - astamuse Lab
  • 再帰とジェネレータの組み合わせ - Qiita

    ※この投稿はQiitaのテストです。 再帰とジェネレータを組み合わせることでシンプルな構造で再帰を表現できる場合がある。 正規表現の再帰 正規表現で再帰的な括弧の対応を取るのは困難。PHPRubyでは正規表現に専用の構文があるがPythonにはない。 再帰関数を使うことでかなり簡単に括弧の対応が取れる。 import re prog = re.compile(r"\((.+)\)") def rec_search(s): "丸括弧を再帰的に取得してリストで返す" match = prog.search(s) r = [] if match: r.append(match) for i in rec_search(match.group(1)): r.append(i) return r

    再帰とジェネレータの組み合わせ - Qiita
    phare
    phare 2017/10/08
    木構造になってるときののleafを取り出したいときに、シンプルに書けるので、頭の中で整理して手札としてもっておく。
  • Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp // Speaker Deck

    PyCon JP 2017 の発表資料です。ジャンルは「業務利用事例」となります。 追記1. PyCon JP 2017 ベストトークアワード優秀賞を受賞しました! 追記2. http://yuzutas0.hatenablog.com/entry/2017/09/12/203000 に補足を掲載しています!

    Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp // Speaker Deck
  • Learn Blockchains by Building One | HackerNoon

    Too Long; Didn't Read Learn Blockchains by Building One: The fastest way to learn how they work is to build one. Python 3.6+ (along with pip) is installed, Flask and the wonderful Requests library. You’ll also need an HTTP Client, like Postman or cURL, but anything will do. You should be comfy reading and writing some basic Python, as well as having some understanding of how HTTP requests work, si

    Learn Blockchains by Building One | HackerNoon
  • GoogleのCloud Pub/SubをやめてRedisのPub/Subに戻した話 - GAミント至上主義

    要点を言えば、公式Pythonライブラリでメモリの問題が2回発生した上に、バージョンアップでさらにコントロールできないものになったので使うのをやめた。 自社用データ収集のプロジェクトoceanusでは、データをBigQueryに保存するだけでなく、データのリアルタイム処理、ストリーミング処理用にPub/Subにも送信している。 github.com 例えば、コンバージョンとか特定のイベントが来たらメールするとか、Googleスプレッドシートに書き込むとか。 開発してからしばらくは同一ネットワーク内(GKE)に自分で立てたRedisのPub/Subで行っていたが、Google Cloud Pub/Subの方が、自分でスケーリングとか考えなくていいし、どこからでもアクセスできたり、他のGCPサービス(Cloud Functions)と連携もしやすいので移した。 しかし、Cloud Pub/Su

    GoogleのCloud Pub/SubをやめてRedisのPub/Subに戻した話 - GAミント至上主義
  • Python の正規表現で IGNORECASE するときは気をつけよう - methaneのブログ

    Python 3 で文字列が Unicode になりました。というだけで感のいい人は分かるかもしれません。 はい、大文字小文字の判断も ASCII じゃなくて Unicode になります。 In [6]: re.match("[a-z]", 'ı', re.I) Out[6]: <_sre.SRE_Match object; span=(0, 1), match='ı'> この文字は LATIN SMALL LETTER DOTLESS I だそうです。 予想外のものにマッチするのは単純にバグになりやすいのもそうですが、この [...] にマッチする部分を作るのも非効率的になります。Python の標準ライブラリの正規表現は最終段階以外が全部 pure Python で書かれているので、正規表現のコンパイルが遅く非効率になります。 なお Python の標準ライブラリの正規表現は文字列だけ

    Python の正規表現で IGNORECASE するときは気をつけよう - methaneのブログ
    phare
    phare 2017/10/04
  • Beam Programming Guide

    Apache Beam Programming GuideThe Beam Programming Guide is intended for Beam users who want to use the Beam SDKs to create data processing pipelines. It provides guidance for using the Beam SDK classes to build and test your pipeline. The programming guide is not intended as an exhaustive reference, but as a language-agnostic, high-level guide to programmatically building your Beam pipeline. As th