効率的なコーディング:Pandasチェーン操作の簡単なデバッグ

「効率的なコーディング:Pandasチェーン操作の簡単なデバッグテクニック」

PYTHON PROGRAMMING(Pythonプログラミング)

チェーンされた操作を別々の文に分けずにPandasデータフレームを検査する方法

デバッグ中のチェーンされたPandasの操作は、チェーンを壊さずに可能です。Miltiadis Fragkidis氏による写真、Unsplashより

デバッグはプログラミングの核心です。以下の記事で詳しく書いています:

Pythonのバグ?pdbが救いの手!

Pdbデバッガーは学習と使用の価値があるのか?

towardsdatascience.com

この文は非常に一般的で、言語やフレームワークに依存しないものです。Pythonを使用してデータ分析を行う場合、複雑なデータ分析を行っているか、MLソフトウェア製品を開発しているか、StreamlitやDjangoアプリケーションを作成しているかに関係なく、コードのデバッグが必要です。

この記事では、Pandasコードのデバッグ、具体的にはパイプにチェーンされたPandasコードのデバッグシナリオについて議論します。このようなデバッグは困難な問題を提起します。どのようにすればいいのか分からない場合、チェーンされたPandasの操作は、通常のPandasコード(通常の代入と角括弧を使用した個々のPandas操作)よりもデバッグが難しくなるように思われます。

通常の代入と角括弧を使用して通常のPandasコードをデバッグするには、Pythonのブレークポイントを追加し、pdbインタラクティブデバッガーを使用するだけで十分です。以下のようなものになります:

>>> d = pd.DataFrame(dict(...     x=[1, 2, 2, 3, 4],...     y=[.2, .34, 2.3, .11, .101],...     group=["a", "a", "b", "b", "b"].. ))>>> d["xy"] = d.x + d.y>>> breakpoint()>>> d = d[d.group == "a"]

残念ながら、ここに示されているようなチェーンされた操作のコードでは、それを止めてコードを調べる場所がありません。チェーンの前後のみでそれを行うことができます。したがって、解決策のひとつは、メインのチェーンを2つのサブチェーン(2つのパイプ)に分割することです…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more