python中nan與inf轉為特定數字方法示例

2022-10-04 10:27:45 字數 852 閱讀 2728

前言

最近因為工作的需求,要處理兩個矩陣的點除,得到結果後,再作其他的計算,發現有些內建的函式不work;檢視得到的資料,發現有很多nan和inf,導致python的基本函式執行不了,這是因為在除的過程中分母出現0的緣故。為了將結果能夠被python其他函式處理,尤其numpy庫,需要將nan,inf轉為python所能識別的型別。

這裡將nan,inf替換0作程式設計客棧為例子。下面來看看詳細的介紹:

1. **

import numpy as np

a = np.array([[np.nan, np.nan, 1, 2], [np.inf, np.inf, 3, 4], [1, 1, 1, 1], [2, 2, 2, 2]])

print a

where_are_nan = np.isnan(a)

where_are_inf = np.isinf(a)

a[where_are_nan] = 0

a[where_are_inf] = 0

print a

print np.mean程式設計客棧(a)

2. 執行結果

[[ nan nan 1. 2.]

[ inf inf 3. 4.]

[ 1. 1. 1. 1.]

[ 2. 2. 2. 2.]]

[[ 0. 0. 1. 2.]

[ 0. 0. 3. 4.]

[ 1. 1. 1. 1.]

[ 2. 2. 2. 2.]]

1.375

總結本文標題: python中nan與inf轉為特定數字方法示例

本文位址: /jiaoben/python/190539.html

python之NAN和INF值處理

首先我們要知道這兩個英文單詞代表的什麼意思 nan not a number,不是乙個數字的意思,但是他是屬於浮點型別的,所以想要進行資料操作的時候需要注意他的型別。inf infinity,代表的是無窮大的意思,也是屬於浮點型別。np.inf表示正無窮大,np.inf表示負無窮大,一般在出現除數為...

linux系統c c 中的inf和nan

測試環境 ubuntu16.04 inf表示無窮大的數。nan表示 not a number 不是乙個整數。判斷表示式的結果是否為inf include include intmain else 方式二if isinf a else float b b nan std cout b endl if ...

python中nan的比較

在用numpy.sum等方法計算列表時,當列表中無目標元素,得到的為空值nan。然而不同於none,它無法用 進行判斷。nan not a number 在數學表示上表示乙個無法表示的數,這裡一般還會有另乙個表述inf,inf和nan的不同在於,inf是乙個超過浮點表示範圍的浮點數 其本質仍然是乙個...