100本ノック系
文字列の配列に対して、各文字列の前方の共通部分(のみ)を抜き出すという例です。 Python等であれば、標準ライブラリなどにそのものズバリのものがありそうなという気もしましたが、ぱっと見見つけられませんでしたので、自作しました。 (この程度のもの…
下記の記事と似た主旨のオレオレメモです。 itdepends.hateblo.jp JSONファイルのdiffって有名ライブラリなどでは少しリッチすぎるかなという時に、機能が劣っていたり割り切りがあっても、自分で取り回しやすい自作のイディオムが欲しくなったのでコピペ用…
下記の記事の続きです。自分でも続きがあったのかと思っておりますが、今回は、前回と同じ要領で、あるdictについて、特定のプロパティ(複数可能)を抜き出したdictを得るというミニDSL風の関数を作成しました(以下 hoge2.py)。 itdepends.hateblo.jp なお…
Pythonのdict型のようなデータの配下の特定のプロパティに、「a.b.c.d」のような表記でアクセスできると、試験ツールやチェックツールで確認したいパターンを外部から入力として与えやすくなにかと便利だと感じています。 こういった使い捨てツールなどのた…
Pandasのアクセサ、特にstrアクセサについては、シンタックスの外面がやや特殊に感じておおりました。 よって、挙動になれるまではどこまでOKなのかわかりにくいので、気持ちのどこかで利用をさけていたのですが、ある時期以降は宣言的にロジックを書けるの…
概要 itdepends.hateblo.jp この記事は、上記の記事のおまけです。 Python/Pandasの DataFrameの複数の列の値の関係や比較を可視化したい時によく使われるであろうグラフ表示方式のうち比較的シンプルなプロット方法のスニペットをまとめました。 公式ドキュ…
この記事の目的/概要 itdepends.hateblo.jp 上記の記事で、Pandasのplotの簡単なまとめをしました。見栄えの工夫やより高度な可視化にはいろいろ探求の道があると思いますが、私の場合、見栄えよりも次に必要になったのは、折れ線グラフ版、棒グラフ版などと…
この記事について Pandas.DataFrameのplot関数についてまとめてみました。 なお、実のところ、まとまっている・体系的であるというところでいうと、この記事を書くのに参考にさせていただいたサイト(後述の参考文献・参考サイト)がおすすめです。 体系的に…
概要 この記事は次の記事の続きです。Elasticsearchのバルクロード用のJSON LinesファイルをイメージしたJSONの簡易フィルターコマンド相当のPythonでのツール例です。 経緯は下記の記事のとおりです。いわゆる拙作ではありますが、前回記事を書いたのちに自…
概要 Elasticsearchのバルクロードは次の形式なのですが、ふと必要にかられてこんな形の2行1ペアのJSON Linesファイルから、なんちゃってselectを行うトイプログラムを作成してみました。 PUT hockey/_bulk?refresh {"index":{"_id":1}} {"first":"johnny","…
この記事について itdepends.hateblo.jp Python/Pandasのgroupbyについては、上記の前の記事で大口(?)を叩いていしまいましたが、そもそも標準ライブラリのitertoolsにgroupbyというメソッドがあるのでこれを機会に入門してみました。 itertoolsのgroupbyお…
Python/Pandasにはgroupbyの機能があるのですが、少しトリッキーなグループ化を考えてみたメモです。 複雑な名寄せ・グループ化のニーズ 何かの集計や名寄せの際に、複数のキーやキー自体がネストされた構造化データ相当のデータで名寄せしたいということは…
たまたま自分のまわりだけかもしれませんが、次項に示した例のように、1対Nのデータを結合してネストオブジェクトのJSON Lines出力をざっくりで良い精度でやってしまいたいという例にしばしば遭遇します。 ブームの時に手グセになっていたり、その案件でガチ…
はじめに このブログは総じて自分メモなのですが、その中でも次の過去記事の応用(?)として、自分の手に馴染むルート相対/相対パス周りのオレオレミニライブラリを作成したのでそのメモです。 itdepends.hateblo.jp itdepends.hateblo.jp なぜこの記事なのか …
はじめに 例えば、自分の中ではあるあるなのですが、静的HTML*1のサイトのデータについてある要素を一括書き換えする...みたいなニーズがあります。 CMSやなんらかの仕掛けによりあっさり完了ということも多いでしょうが、一方、そうでないこともやはり少な…
はじめに 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 os.path.join os.path.normpath のスニペット事例紹介です。 特に、os.urllib.parse.urljoinについては、 「/a/b/c/foo.html」と「../../common/img/z.jpg」を引数に与えると、「/a/common/img/z…
はじめに Python、BeautifulSoupふと思い出し企画です。 Pythonのスクレイピングライブラリである、BeutifulSoup4 についてオレオレ切り口でちょっとだけふれています。 BeautifulSoup4やScrapyというキーワードで言うと、スクレイピングやそもそものクロー…
はじめに 何度目かのElasticsearchのオレオレスコアリング論まとめです。 この記事をまとめるきっかけとして、Elasticsearch ver7系におけるScript score queryなるもので、今までできなかった(?)BM25などから得られた関連度に細工ができるようで、これは知…
この記事の内容 本記事では、Elasticsearchのscript query について、クエリ例を列挙しています。 この記事の内容 script queryの使い所(と筆者が思うところ) script query 実例 ◆インデックスの設定 ◆サンプルデータ登録 ◆クエリ例 (1) Aが1より大きいも…
はじめに この記事は、次の記事の続きです。 itdepends.hateblo.jp 前の記事では、ひらがな(読み仮名)→漢字にフォーカスしましたが、ここでは、ひらがなの単語の複合語や漢字とひらがなの混合の複合語などででヒットさせるにはということで膨らませてみま…
はじめに Elasticsearch(kuromoji)では、アナライザーに「kuromoji_readingform」というものがあり、これを使うと「読み」に関して、表記揺れや曖昧検索相当に対応できます。 ただし、この「読み」部分については、実は、kuromojiの形態素解析(分かち書き/to…
1. はじめに この記事は、ある検索系の問題設定において、できるだけElasticsearchの機能に閉じて*1手軽にやれるかどうか、という、よくある100本ノック風のチャレンジ(1本だけですが)のメモです。 図らずも、Elasticsearchのアナライズの解説っぽいところ…