python
はじめに 以前、PythonのIO関連の非同期処理をうまくコントロールして全体スループットをあげるということで、次の記事を投稿しました。 itdepends.hateblo.jp 今回はもっとストレートに、concurrent.futuresという並列タスク実行の標準パッケージがあるよう…
Pythonのopen組み込み関数では、「改行」に関して「優しい」仕様になっています。 しかし、私のような日曜プログラマは半年に1回ぐらいやっちまうのですが、稀にこの気遣い仕様を忘れて、ハマってしまうこともあるので、ここに備忘録として記しておきます。 …
Pythonの非同期処理については、いろいろ歴史・経緯があるようです。 しかしながら、皆さんのおかげで、部外者が安易に言うのもはばかられますが、Python3.7あたりから、私のような日曜エンジニアでもおいしいところにありつけるようになってきた様子だった…
文字列の配列に対して、各文字列の前方の共通部分(のみ)を抜き出すという例です。 Python等であれば、標準ライブラリなどにそのものズバリのものがありそうなという気もしましたが、ぱっと見見つけられませんでしたので、自作しました。 (この程度のもの…
下記の記事と似た主旨のオレオレメモです。 itdepends.hateblo.jp JSONファイルのdiffって有名ライブラリなどでは少しリッチすぎるかなという時に、機能が劣っていたり割り切りがあっても、自分で取り回しやすい自作のイディオムが欲しくなったのでコピペ用…
下記の記事の続きです。自分でも続きがあったのかと思っておりますが、今回は、前回と同じ要領で、あるdictについて、特定のプロパティ(複数可能)を抜き出したdictを得るというミニDSL風の関数を作成しました(以下 hoge2.py)。 itdepends.hateblo.jp なお…
Pythonのdict型のようなデータの配下の特定のプロパティに、「a.b.c.d」のような表記でアクセスできると、試験ツールやチェックツールで確認したいパターンを外部から入力として与えやすくなにかと便利だと感じています。 こういった使い捨てツールなどのた…
pandas.read_htmlについて、rowspanやcolspanで実現されているぶち抜き表についても、よろしく整然データとしてのDataFrameに変換できるということを知ったので、その感想です。 pandas.read_htmlについて pandas.read_htmlはhtml中のtableに特化したスクレ…
Elasticsearchとpandasという組み合わせでいうと、Elasticsearchの公式サイトでも紹介があるeland | Elasticなのかなと思います。 しかしながら、ElandでElasticsearchの検索クエリをかませて、それをDataFrameに入れる方法が(おそらくそのような機能を具備…
Webサイトのアクセスログの集計のワンライナーのようなものについては、かつてはいろいろ思うところがありました。 思うというか苦しめられておりました。 しかし、いまや 自分が語るには、この世界が発展・複雑化しすぎており、世界の片隅でのひとりごとと…
↓ Pythonのタグクラウド生成ライブラリで有名なword cloudを使って、まさにこんな感じの画像ファイルを出力します。 amueller.github.io github.com 日本語の場合、本来は、タグクラウドの元になるテキストについて統計的な処理や分かち書きをするところをふ…
↓ Pythonのプログラムを実行して、まさにこんな感じの画像ファイルを出力します。 2020年の現在においては、Pillowというライブラリがデファクトのようです。 hoge$ pip3 list ... Pillow 7.1.2 ... pillow.readthedocs.io お作法のハンズオンとしては、次が…
はじめに 感染症の例を見ていると、可視化やそもそも現場でのデータ収集というのはなかなか難しいなと感じる次第です。 大半の混乱は一元化や入力の標準化などの情報化の定石で解決する部分もあるでしょうが、今回のような走りながら速記するというような状…
要約・キーフレーズ抽出について sumy は、Pythonで実装された、抽出型のドキュメント要約ライブラリです。 3行でまとめて! ってやつですね。 ドキュメント中の最重要と思われるセンテンスを抜き出すことで、元の内容のエッセンスを抽出することをめざしま…
はじめに PandasのEDAに便利な部分を、データチェックに見立てて利用すると、目的外使用かもしれないけど、便利かも? という視点でのPandasのイディオムの寄せ集めです。 (よって、そう思って見なければ、Pandasの中途半端な入門例未満の断片集だったりし…
はじめに データサイエンス的な世界に限らずですが、本処理以上に「前処理」が勝負というところがあります。 ここで、「本格的な『前処理』の更に前段の『前処理』が必要になった」という経験はありませんか。 まあ、単なる言葉遊びに過ぎないところもありま…
概要 Pythonのdifflibのうち、私のような軟派な用途にあたり便利だな・面白いなと思ったものをまとめてみました。 概要 オレ様チョイス 3大difflibライブラリ (1) difflib.SequenceMatcher・・・ ratio() (2) difflib.get_close_matches() (3) difflib.HtmlD…
Pythonでの集合演算の演算子(和、差、積...)のチートシートです。 ひとつずつではなく、一覧の絵にしてみたところがウリですが、言語仕様の焼き直しなのでそれ以上のものではありません。あしからず。 ◆確認用コピペ用 s1 = {1,2,3,4,5} s2 = {1,2,3,4,5} …
BeautifulSoupについては、find系やselect系でのオブジェクト取得により取り回していくのが基本だとは思いますが、parentやnext_siblingなど隣接取得系(造語です)についても、たまに使うにせよ、使おうとするとどうだっけというところで悩ましいので、これ…
PandasにおけるDataFrameのシェイプ変更のメソッドである、 pivot、pivot_table、melt、stack、wide_to_longについて、これらをまとめて図解してみました。 実例 import pandas as pd import io df = pd.read_csv(io.StringIO(""" year,season,num 2010,春,4…
Pandasでgroupbyなどの際に思わず発生するMultiIndex。 いやもちろん、思わず...ではなくて正規の仕様なのですが、しばらく間が空くと少し勘を取り戻すのに苦労する仕様な気がします。 まあ間が空いていても空いてなくても、私の場合、reset_index()してしま…
概要 itdepends.hateblo.jp この記事は、上記の記事のおまけです。 Python/Pandasの DataFrameの複数の列の値の関係や比較を可視化したい時によく使われるであろうグラフ表示方式のうち比較的シンプルなプロット方法のスニペットをまとめました。 公式ドキュ…
この記事の目的/概要 itdepends.hateblo.jp 上記の記事で、Pandasのplotの簡単なまとめをしました。見栄えの工夫やより高度な可視化にはいろいろ探求の道があると思いますが、私の場合、見栄えよりも次に必要になったのは、折れ線グラフ版、棒グラフ版などと…
概要 この記事は次の記事の続きです。Elasticsearchのバルクロード用のJSON LinesファイルをイメージしたJSONの簡易フィルターコマンド相当のPythonでのツール例です。 経緯は下記の記事のとおりです。いわゆる拙作ではありますが、前回記事を書いたのちに自…
概要 Elasticsearchのバルクロードは次の形式なのですが、ふと必要にかられてこんな形の2行1ペアのJSON Linesファイルから、なんちゃってselectを行うトイプログラムを作成してみました。 PUT hockey/_bulk?refresh {"index":{"_id":1}} {"first":"johnny","…
概要 この記事は技術的チャレンジ...というよりは、他の用途の都合、PythonのWSGIのライブラリのさわりを目的外(?)使用した例です。 という意味で、WSGIの説明などではありませんのでご了承ください。 内容としては、 WSGIの仕組みで、 ワンライナーではない…
この記事について itdepends.hateblo.jp Python/Pandasのgroupbyについては、上記の前の記事で大口(?)を叩いていしまいましたが、そもそも標準ライブラリのitertoolsにgroupbyというメソッドがあるのでこれを機会に入門してみました。 itertoolsのgroupbyお…
Python/Pandasにはgroupbyの機能があるのですが、少しトリッキーなグループ化を考えてみたメモです。 複雑な名寄せ・グループ化のニーズ 何かの集計や名寄せの際に、複数のキーやキー自体がネストされた構造化データ相当のデータで名寄せしたいということは…
たまたま自分のまわりだけかもしれませんが、次項に示した例のように、1対Nのデータを結合してネストオブジェクトのJSON Lines出力をざっくりで良い精度でやってしまいたいという例にしばしば遭遇します。 ブームの時に手グセになっていたり、その案件でガチ…
はじめに このブログは総じて自分メモなのですが、その中でも次の過去記事の応用(?)として、自分の手に馴染むルート相対/相対パス周りのオレオレミニライブラリを作成したのでそのメモです。 itdepends.hateblo.jp itdepends.hateblo.jp なぜこの記事なのか …