Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas入門:多項式補間を使ってNaN値を埋める方法

PandasのSeriesに含まれる欠損値(NaN)を多項式補間で埋めるには、interpolate()メソッドを使用します。その際、methodパラメータに「polynomial」を指定し、orderパラメータで多項式の次数を設定します。

必要なライブラリのインポート

まず、必要なライブラリをインポートします。

import pandas as pd
import numpy as np

NaNを含むPandas Seriesの作成

次に、いくつかのNaN値を含むPandas Seriesを作成します。欠損値はNumPyのnp.nanを使って設定します。

d = pd.Series([10, 20, np.nan, 65, 75, 85, np.nan, 100])

多項式補間の実行

interpolate()メソッドのmethodパラメータに「polynomial」を指定し、orderパラメータに次数(ここでは2次)を設定して補間を実行します。

d.interpolate(method='polynomial', order=2)

サンプルコード

以下が完全なコード例です。

import pandas as pd
import numpy as np

# pandas series の作成
d = pd.Series([10, 20, np.nan, 65, 75, 85, np.nan, 100])

print("Series...\n", d)

# 多項式補間の実行
print("\nPolynomial Interpolation...\n", d.interpolate(method='polynomial', order=2))

実行結果

上記のコードを実行すると、次のような出力が得られます。

Series...
0    10.0
1    20.0
2     NaN
3    65.0
4    75.0
5    85.0
6     NaN
7   100.0
dtype: float64

Polynomial Interpolation...
0    10.000000
1    20.000000
2    42.854015
3    65.000000
4    75.000000
5    85.000000
6    93.532847
7   100.000000
dtype: float64

実行結果を見ると、元々NaNだったインデックス2と6の位置に、それぞれ42.85401593.532847という値が補間されていることがわかります。このように多項式補間を利用することで、データ全体の傾向に沿った自然な形で欠損値を推定・補完できます。

  1. Python Pandas入門:DataFrame内のNaN(欠損値)を0に置き換える方法

    PandasのDataFrameに含まれるNaN(欠損値)を0に置き換えるには、fillna()メソッドを使用します。このメソッドは、データクレンジングや前処理の際に非常によく使われる基本的なテクニックです。例として、以下のようなCSVファイル(Microsoft Excelで開いた状態)があるとします。このデータには一部NaN値が含まれています。手順1:必要なライブラリをインポートするまず、Pandasライブラリをインポートします。import pandas as pd手順2:CSVファイルからDataFrameを読み込む次に、read_csv()メソッドを使ってCSVファイルのデータをDa

  2. Python Pandas入門:interpolate()メソッドでNaN値を補間して埋める方法

    はじめにPandasでは、interpolate()メソッドを使うことで、DataFrame内の欠損値(NaN)を補間によって効率的に埋めることができます。このメソッドは、前後の値をもとに線形補間を行い、データの流れを保ちながら自然な形で欠損値を推定します。ここでは、Microsoft Excelで開いた以下のようなCSVファイルを例に説明します。このデータには一部NaN値が含まれています。1. CSVファイルからデータを読み込むまず、read_csv()関数を使って、CSVファイルのデータをPandas DataFrameに読み込みます。dataFrame = pd.read_csv(C:\