はてだBlog(仮称)

私的なブログど真ん中のつもりでしたが、気づけばWebサイト系のアプリケーション開発周りで感じたこと寄りの自分メモなどをつれづれ述べています。2020年6月現在、Elasticsearch、pandas、CMSなどに関する話題が多めです。...ですが、だんだんとより私的なプログラムのスニペット置き場になりつつあります。ブログで述べている内容は所属組織で販売している製品などに関するものではなく、また所属する組織の見解を代表するものではありません。

2020-02-01から1ヶ月間の記事一覧

BeautifulSoupの隣接ノード取得系のメソッドのまとめ および 他(コメント取得やテキスト取得、SoupStrainer)

BeautifulSoupについては、find系やselect系でのオブジェクト取得により取り回していくのが基本だとは思いますが、parentやnext_siblingなど隣接取得系(造語です)についても、たまに使うにせよ、使おうとするとどうだっけというところで悩ましいので、これ…

Pandas pivot、pivot_table、melt、stack、wide_to_longのシェイプ変更のイメージ(tidyデータ)

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 MultiIndexのオペレーションメモ

Pandasでgroupbyなどの際に思わず発生するMultiIndex。 いやもちろん、思わず...ではなくて正規の仕様なのですが、しばらく間が空くと少し勘を取り戻すのに苦労する仕様な気がします。 まあ間が空いていても空いてなくても、私の場合、reset_index()してしま…

時間がない方のためのPandas plot、seabornでの複数列の比較に向いたグラフ簡単表示例

概要 itdepends.hateblo.jp この記事は、上記の記事のおまけです。 Python/Pandasの DataFrameの複数の列の値の関係や比較を可視化したい時によく使われるであろうグラフ表示方式のうち比較的シンプルなプロット方法のスニペットをまとめました。 公式ドキュ…

続・Pandasのplot関数で複数の別種類のグラフをまとめて一枚に表示(pylot.subplots関数、axパラメータなど)

itdepends.hateblo.jp の続きといいますか、「別紙」です。 先の記事では、matplotlib.pyplot.subplotsで複数グラフを一枚におさめる例を紹介しました。 しかし、ものぐさな私は、pandas.DataFrame.plotのaxパラメータにいちいち番地を指定するのはめんどく…

Pandasのplot関数で複数の別種類のグラフをまとめて一枚に表示(pylot.subplots関数、axパラメータなど)

この記事の目的/概要 itdepends.hateblo.jp 上記の記事で、Pandasのplotの簡単なまとめをしました。見栄えの工夫やより高度な可視化にはいろいろ探求の道があると思いますが、私の場合、見栄えよりも次に必要になったのは、折れ線グラフ版、棒グラフ版などと…

DataFrame.plotによるDataFrameの可視化・グラフ表示 (Python/Pandas): チートシート風まとめ

この記事について Pandas.DataFrameのplot関数についてまとめてみました。 なお、実のところ、まとまっている・体系的であるというところでいうと、この記事を書くのに参考にさせていただいたサイト(後述の参考文献・参考サイト)がおすすめです。 体系的に…

続:Elasticsearch のバルクロード用JSON Lines ファイルをselectする toy スクリプト(ソートなど追加)

概要 この記事は次の記事の続きです。Elasticsearchのバルクロード用のJSON LinesファイルをイメージしたJSONの簡易フィルターコマンド相当のPythonでのツール例です。 経緯は下記の記事のとおりです。いわゆる拙作ではありますが、前回記事を書いたのちに自…

Elasticsearch のバルクロード用JSON Lines ファイルをselectする toy スクリプト

概要 Elasticsearchのバルクロードは次の形式なのですが、ふと必要にかられてこんな形の2行1ペアのJSON Linesファイルから、なんちゃってselectを行うトイプログラムを作成してみました。 PUT hockey/_bulk?refresh {"index":{"_id":1}} {"first":"johnny","…

Pythonで簡易HTTP静的ファイルサーバ -- 細工用にWSGIをひっかける

概要 この記事は技術的チャレンジ...というよりは、他の用途の都合、PythonのWSGIのライブラリのさわりを目的外(?)使用した例です。 という意味で、WSGIの説明などではありませんのでご了承ください。 内容としては、 WSGIの仕組みで、 ワンライナーではない…

Python itertools.groupby、itertools全般(accumulate他)、collectionsのちょっとつまみ食い

この記事について itdepends.hateblo.jp Python/Pandasのgroupbyについては、上記の前の記事で大口(?)を叩いていしまいましたが、そもそも標準ライブラリのitertoolsにgroupbyというメソッドがあるのでこれを機会に入門してみました。 itertoolsのgroupbyお…

Python/Pandas演習(dictでグループ化相当)

Python/Pandasにはgroupbyの機能があるのですが、少しトリッキーなグループ化を考えてみたメモです。 複雑な名寄せ・グループ化のニーズ 何かの集計や名寄せの際に、複数のキーやキー自体がネストされた構造化データ相当のデータで名寄せしたいということは…

1対Nのデータを結合してネストオブジェクトのJSON Lines出力のイディオム(Python/ Pandas) my 手グセ紹介

たまたま自分のまわりだけかもしれませんが、次項に示した例のように、1対Nのデータを結合してネストオブジェクトのJSON Lines出力をざっくりで良い精度でやってしまいたいという例にしばしば遭遇します。 ブームの時に手グセになっていたり、その案件でガチ…

Pythonオレオレ相対パス/ルート相対パスの小品

はじめに このブログは総じて自分メモなのですが、その中でも次の過去記事の応用(?)として、自分の手に馴染むルート相対/相対パス周りのオレオレミニライブラリを作成したのでそのメモです。 itdepends.hateblo.jp itdepends.hateblo.jp なぜこの記事なのか …

ほとんど何もしないディレクトリ同期風 Pythonプログラムの例

はじめに 例えば、自分の中ではあるあるなのですが、静的HTML*1のサイトのデータについてある要素を一括書き換えする...みたいなニーズがあります。 CMSやなんらかの仕掛けによりあっさり完了ということも多いでしょうが、一方、そうでないこともやはり少な…

静的HTMLサイトの画像が規約にしたがっているかチェック(Python / os.path.commonpath) と昔話

はじめに Pythonの次のライブラリ/便利メソッドの簡単な紹介です。 BeautifulSoup4のfind_allであるhtmlの全てのimgタグとそのsrc属性の抜き出し urllib.parse.urljoin(こちらの記事https://itdepends.hateblo.jp/entry/2020/02/02/142148) os.path.commonp…

Python os.urllib.parse.urljoinでHTML内の相対パスをルート相対パスにお手軽に変換 と 昔話

はじめに Pythonの標準ライブラリの os.urllib.parse.urljoin os.path.join os.path.normpath のスニペット事例紹介です。 特に、os.urllib.parse.urljoinについては、 「/a/b/c/foo.html」と「../../common/img/z.jpg」を引数に与えると、「/a/common/img/z…