NaNをゼロに置き換え、Pythonで負の無限大の値を埋めます
NaNをゼロに置き換え、無限大を大きな有限数に置き換えるには、Pythonのnumpy.nan_to_num()メソッドを使用します。このメソッドは、非有限値が置き換えられたxを返します。 copyがFalseの場合、これはx自体である可能性があります。最初のパラメーターは入力データです。 2番目のパラメーターはコピーです。xのコピーを作成するか(True)、値をインプレースで置き換えるか(False)。インプレース操作は、配列へのキャストにコピーが必要ない場合にのみ発生します。デフォルトはTrueです。
3番目のパラメーターはnanで、NaN値を埋めるために使用される値です。値が渡されない場合、NaN値は0.0に置き換えられます。 4番目のパラメーターposinfは、正の無限大値を埋めるために使用される値です。値が渡されない場合、正の無限大の値はに置き換えられます。 5番目のパラメーターneginfは、負の無限大値を埋めるために使用される値です。値が渡されない場合、負の無限大の値は非常に小さい(または負の)数値に置き換えられます。
ステップ
まず、必要なライブラリをインポートします-
import numpy as np
array()メソッドを使用してnumpy配列を作成する-
arr = np.array([np.inf, -np.inf, np.nan, -128, 128])
配列を表示する-
print("Our Array...\n",arr)
寸法を確認してください-
print("\nDimensions of our Array...\n",arr.ndim)
データ型を取得-
print("\nDatatype of our Array object...\n",arr.dtype)
形をとる-
print("\nShape of our Array object...\n",arr.shape)
NaNをゼロに置き換え、無限大を大きな有限数に置き換えるには、numpy.nan_to_num()メソッド-
を使用します。print("\nResult...\n",np.nan_to_num(arr, neginf = 22222))
例
import numpy as np # Creating a numpy array using the array() method arr = np.array([np.inf, -np.inf, np.nan, -128, 128]) # Display the array print("Our Array...\n",arr) # Check the Dimensions print("\nDimensions of our Array...\n",arr.ndim) # Get the Datatype print("\nDatatype of our Array object...\n",arr.dtype) # Get the Shape print("\nShape of our Array object...\n",arr.shape) # To replace NaN with zero and infinity with large finite numbers, use the numpy.nan_to_num() method in Python print("\nResult...\n",np.nan_to_num(arr, neginf = 22222))
出力
Our Array... [ inf -inf nan -128. 128.] Dimensions of our Array... 1 Datatype of our Array object... float64 Shape of our Array object... (5,) Result... [ 1.79769313e+308 2.22220000e+004 0.00000000e+000 -1.28000000e+002 1.28000000e+002]
-
PythonPandas-DataFrame内のすべてのNaN要素を0に置き換えます
NaN値を置き換えるには、fillna()メソッドを使用します。以下が、いくつかのNaN値を使用してMicrosoftExcelで開いたCSVファイルであるとしましょう- まず、必要なライブラリをインポートします- import pandas as pd CSVファイルからPandasDataFrameにデータをロードする- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") fillna()メソッドを使用してNaN値を0に置き換えます- dataFrame.fillna(0)
-
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]