補間メソッドを使用した Python での欠損データの処理

補間メソッドを使用した Python での欠損データの処理

補間は、指定された点の間に点を生成する方法です。このチュートリアルでは、Python で欠損データを処理する際に補間を使用する方法を説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

Python では、補間は、データの前処理中にデータ フレームまたは系列内の欠損値を代入するために主に使用される手法です。LuckyTemplates でPythonを使用して、この方法を使用してデータ内の欠落しているデータ ポイントを推定する方法を説明します。

上のグラフに表示されている以下の元のデータを見ると、そこには何もないためにグラフ化できない穴や欠損データが多数あることがわかります。しかし、下のグラフでは、データがどのようになるかを把握するためにいくつかの推定を行ったことがわかります。実際のデータは水色で表され、補間されたデータは濃い青で表されます。

補間メソッドを使用した Python での欠損データの処理

これから行う推定にはいくつかの異なるタイプがあります。線形補間、最近接補間、次に加重時間補間を実行します。それぞれの結果はわずかに異なります。

上の例では、加重時間補間を使用しています。これは、日数に基づいて重み付けされている点を除けば、線形補間とほぼ同じです。線形は、これら 2 つのデータ ポイント間の傾きに基づいてデータを推定しました。最近補間では、以下に示すように、より平坦なタイプの推定が行われます。ここでは、最も近い値を調べて、それら 2 つの値の間に存在するものを推定することができました。

補間メソッドを使用した Python での欠損データの処理

それでは、Jupyter ノートブックにジャンプして、それを導入してみましょう。

目次

Python で欠損データを処理する際に補間を使用する方法

スクリプト エディターを使用してすべてをスクリプト化することもできますが、その方が簡単です。Jupyter ノートブックではさらに多くのフィードバックが得られます。それでは、私たちがやっていることを文書化しましょう。これをコピーして Python スクリプト エディターに貼り付けると、非常にきれいで明確になります。

必要なライブラリをインポートしましょう。Pandas をインポートして変数PD として保存します。Numpyをインポートし、変数 NP として保存します。Pandas はデータ操作ライブラリですが、Numpy を使用するとデータ操作も可能になり、線形代数も利用できます。

データセットを取り込み、それを変数dfとして保存します。そして、Pandas 変数 ( pd )を使用し、 read.csv関数を使用します。次に、そのファイルが PC 上に存在する場所にコピーして貼り付けます。私の場合は作業ディレクトリにあるので、machines.csv を記述してそれを括弧で囲むだけです。

補間メソッドを使用した Python での欠損データの処理

そして、変数 df を使用してデータセットを見てみましょう。これは 2022 年の 1 日から 25 日まで続いていることがわかります。15日まで連続で、19日は4日休み、22日になると3日休み、25日は2日休みになります。

スキップされた日にはデータが欠落しているわけではありません。それは私たちのデータセット内のデータではありません。ここで扱うのは、NaNまたは値なしで表される欠損データです。

データセットを取得したので、さまざまなタイプの解釈を使用して、それらを別の列として保存しましょう。テキストで表されるobject があり、floatもあることがわかります。

補間メソッドを使用した Python での欠損データの処理

括弧表記を使用してDate列を分離します。次に、equals を使用してこれを代入します。pd変数を使用し、その後関数 to_datetime を使用するだけです。次に、その関数を括弧で閉じて、Date 列を追加します。

補間メソッドを使用した Python での欠損データの処理

これで、Date が適切なデータ型になったことがわかります。

補間メソッドを使用した Python での欠損データの処理

ここには 1 ~ 18 の数字で示されるインデックスがあります。線形を実行する場合、これらの数字を使用して既存のデータ ポイント間に線形接続が作成されます。しかし、時間を調べて実際の日数に基づいた結果を与える時間加重補間も使用できるようにしたいと考えています。Date 列をインデックスとして設定して利用したいと考えています。

データ フレーム (df) 変数を使用して、set_index を実行します。永続的に渡されることを確認するには、 inplaceというパラメータを渡す必要があります。そこで、inplace = true を使用し、Shift キーを押して Enter キーを押します。これで、数値インデックスが消え、Datetime インデックスができたことがわかります。

補間メソッドを使用した Python での欠損データの処理

これで、必要な列の構築を開始できます。最も近いデータ ポイントを補間する列を作成して、これらの欠損値を最も近い値で埋めてみましょう。users_nearestという列を作成し、それをUsers列に割り当てます。

user_nearestという列を作成し、それをユーザー列に割り当てたいと考えています。これで、その列が分離されたので、補間 関数を使用できます。また、Shift-Tab キーを押して、この関数がどのようなパラメーターを取るかを確認できます。さまざまな種類の方法があります。

デフォルトが線形であることがわかります。さまざまなメソッドをすべて表示したい場合は、この中に情報があります。これを一番上まで開くと、多くの洞察をもたらす多くの情報がここにあります。ただし、Pandas サイトにアクセスして、さまざまな種類の補間がどのようなものかを確認することをお勧めします。

補間メソッドを使用した Python での欠損データの処理

次に、必要なメソッドを渡し、最近接補間メソッドを使用します。これを実行するだけで、列が作成されることがわかります。その特定の行を見ると、それが欠損値であることがわかります。そして、最も近い値が取得されてここに追加された場所で補間されていることがわかります。ご覧のとおり、その特定の行には欠損値がなくなりました。

補間メソッドを使用した Python での欠損データの処理

ここで、これを 2 回コピーし、これらの列の名前をuser_linearuser_timeに変更しましょう。見出しに合わせてメソッドも変更します。シフトと入力が可能で、さまざまな種類の補間方法に基づいて 3 つの列を作成したことがわかります。

補間メソッドを使用した Python での欠損データの処理

次に、データ内のフラグのように、どの列が空であるかを示すことができる特定の列をもう 1 つ作成したいと思います。そのためにNumpyを使用します。

したがって、 dfという名前の新しい列を作成し、それを flag という名前にします。これを等号で代入します。次に、 Numpy 変数であるnpを使用します。次に、条件関数であるwhere関数を使用します。条件を設定すると、true と false の例が得られます。Python では等しい、二重等号を使用します。それが本当の場合、「Missing Data」と言いたくなるでしょう。もう 1 つのオプションはDataです。

補間メソッドを使用した Python での欠損データの処理

そのフラグをビジュアルで使用できます。ノートブックに移動したら、変換に移動し、Python スクリプトの実行をクリックします。ここで、いくつかの異なるステップがあります。これをLuckyTemplates環境内で動作させる必要があります。

すべてのコードはここにありますが、さらにいくつかの手順を追加する必要があります。1 つ目は、日付/時刻を扱う場合、エラーがある場合にそれを強制するか、変更を試みることができるというエラー パラメーターを追加する必要があります。そこで、ここでは、 errors に等しいものを入れてから、括弧でcoerce を入れます。次に、データセット変数を df として再割り当てする必要があります。

補間メソッドを使用した Python での欠損データの処理

[OK] をクリックすると別のエラーが表示されます。これを修正するにはこれを行う必要があります。手順を進める場合、日付をフォーマットする必要はありません。日付はプラットフォームごとに一意であるため、Python で日付を処理できるようにします。最初に行う必要があるのは、Changed Typeを削除することです。

補間メソッドを使用した Python での欠損データの処理

日付がインデックスであるため、Date 列はありません。そこで、Python スクリプトに戻り、インデックスdf.reset_indexをリセットします。その括弧内で Date 列をバイパスするようにリセットしたいと述べてから、inplace = trueを実行したいとします。

補間メソッドを使用した Python での欠損データの処理

これで、日付が得られ、他のすべてのデータ型が完成しました。

補間メソッドを使用した Python での欠損データの処理

これを視覚的に表現すると、Python で欠損データを処理する際の 3 つの異なる補間方法でどのように見えるかがわかります。

補間メソッドを使用した Python での欠損データの処理


LuckyTemplates の通貨レート: 欠損データの処理
LuckyTemplates データ レポートでの Python スクリプト
Python でサンプル データセットを読み込む方法

結論

このチュートリアルでは、 Pythonで欠損データを処理する際の 3 つの補間方法を学習しました。線形時間補間、最近接時間補間、加重時間補間方法について説明しました。

これが役に立ち、ご自身の仕事に応用していただければ幸いです。詳細については、以下の完全なビデオチュートリアルをご覧ください。また、Python での欠損データの処理に関するその他の関連コンテンツについては、以下のリンクをご覧ください。

ではごきげんよう!

ゲイリム


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて