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

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]

  1. 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)

  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]