こんにちは!
今回は、Pythonに関連する記事をまとめます!
具体的には次のような記事です。
Pythonを実務で使い倒していたときの情報なので、即戦力になれる情報もあると思います。
是非、読んでみてください!
Python
Pythonに関する記事になります。
Pythonのスレッドで発生した例外は親スレッドでキャッチできない
Pythonでスレッドの実装が必要になったときに得た知見です。
子スレッドで発生した例外は親スレッドでキャッチできないんですよね。。。
子スレッドで発生した例外は子スレッドのルートまで上がっていくのですが、親スレッドには伝わらないのです。
親スレッドですべてキャッチすればシンプル・・・と想定して実装していたときにハマって、当時あれこれ調査して得られた知見をまとめました。
Pythonでシングルトン (Singleton) を実装する方法と注意点!
Pythonでバッチ処理を実装していたときに、あちこちから呼ばれる共通処理が重複処理をすることがわかって、「よし、シングルトンにしよう!」となったときに得た知見をまとめました。
解決策はシングルトンだけではないかもしれませんが・・・Pythonでも(ちょっとクセはありますが)シングルトンができることがわかり、整理してまとめた記事になります。
Pythonの内包表記やmap関数で、低速で冗長なfor文から解放されよう!
「Pythonでfor文を見たら怪しいと思え」
これは当時、一緒にお仕事をさせていただいていた知見者の個人的な名言です。
わたしもちょうど同じ思いをいだき始めていましたので、すごく好きな言葉です。
Pythonはシンプルで強力な内包表記をはじめ、map関数も理解することで、簡潔かつ高速に実装できます。
はじめはとっつきにくいかもしれませんが、そこまで大きな壁ではなく、ちゃんと乗り越えられますので、もしまだでしたら、ぜひとも使いこなせるように目指してみてはいかがでしょうか?
使えるようになると、とても気持ちがよく、楽しくなります!
なお、余談ですが、上述の格言「Pythonでfor文を見たら怪しいと思え」は、Pandasにも当てはまります!
Pandas
Pythonのなかでも、Pandasに関する記事になります。
Pandasのデータフレームの値を2つのインデックス参照で変更するときは、真偽値の条件を後にする!
ちょっとピンポイントな情報ですが、わりとハマるPandasでの実装上のクセをまとめました。
なかなかひとことでは言い表すのが難しいので、もしよろしければぜひ、記事をのぞいてみてください!
PythonでPandasを使ってCSVをサクッと整形する方法とは?
簡易的なバッチ処理の言語をPythonにする理由のひとつして、PandasではCSVファイルをとても簡単に扱える、ということがあります。
実務の中で、CSVの中身を成形するシーンが何度も登場しました。
そのときに得た知見をまとめた記事になります。
Pandasで複数のカラムが一致する行/一致しない行を抽出したい
Pandasでは一致/不一致の条件をシンプルかつ直感的に記述できる利点があります。
ただし、複数カラムの一致/不一致となると、SQLのようにはいかず、ちょっと工夫が必要でした。
そのあたりをまとめた記事になります。
Pandasで次のレコードとの差を計算する方法とは?
実務でIoTセンサなどの情報をあつかっていたときに得られた知見をもとにした記事になります。
時刻単位のレコードで時系列に蓄積されたデータを扱うとき、あるレコードと次のレコードの時刻の差を「時間」として計算したくなるケースはよくあります。
この「あるレコードと次のレコードの時刻の差を「時間」として計算」する方法についてまとめた記事になります。