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

Python-パンダでNAN値を平均で埋める方法は?


平均値には、mean()関数を使用します。 NaNを使用して列の平均を計算し、fillna()を使用してNaN値を平均で埋めます。

まず、必要なライブラリをインポートしましょう-

import pandas as pd
import numpy as np

2つの列といくつかのNaN値を持つDataFrameを作成します。 numpynp.NaN-

を使用してこれらのNaN値を入力しました
dataFrame = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
   }
)

ここでUnits列の場合、NaNを使用して列値の平均を求めます。したがって、[単位]列には100、150、および80があります。したがって、平均は110-

になります。
meanVal = dataFrame['Units'].mean()

NaNを、それが配置されている列の平均に置き換えます。上で計算された平均は110であるため、NaN値は110-

に置き換えられます。
dataFrame['Units'].fillna(value=meanVal, inplace=True)

以下はコードです-

import pandas as pd
import numpy as np

# Create DataFrame
dataFrame = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
   }
)

print"DataFrame ...\n",dataFrame

# finding mean of the column values with NaN i.e, for Units columns here
# so the Units column has 100, 150 and 80; therefore the mean would ne 110
meanVal = dataFrame['Units'].mean()

# Replace NaNs with the mean of the column where it is located
# the mean calculated above is 110, so NaN values will be replaced with 110
dataFrame['Units'].fillna(value=meanVal, inplace=True)
print"\nUpdated Dataframe after filling NaN values with mean...\n",dataFrame

出力

これにより、次の出力が生成されます-

DataFrame ...
       Car   Units
0      BMW   100.0
1    Lexus   150.0
2    Lexus     NaN
3  Mustang    80.0
4  Bentley     NaN
5  Mustang     NaN

Updated Dataframe after filling NaN values with mean...
       Car   Units
0      BMW   100.0
1    Lexus   150.0
2    Lexus   110.0
3  Mustang    80.0
4  Bentley   110.0
5  Mustang   110.0

  1. PythonPandas-補間法を使用してNaN値を入力します

    Interpolate()メソッドを使用して、NaN値を入力します。以下が、いくつかのNaN値を使用してMicrosoftExcelで開いたCSVファイルであるとしましょう- CSVファイルからPandasDataFrameにデータをロードする- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") NaN値をinterpolate()-で埋めます dataFrame.interpolate() 例 以下はコードです- import pandas as pd # Load dat

  2. MatplotlibでNaN値をプロットして操作する方法は?

    matplotlibでNaN値をプロットして操作するには、次の手順を実行できます- いくつかのNaN値を持つnumpyを使用してデータを作成します。 imshow()を使用します データを画像として、つまり2D通常のラスター上に、カラーマップとデータを使用して表示する方法(手順1から)。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50]