簡體   English   中英

numpy 1D數組到numpy數組

[英]numpy 1D array to numpy arrays

我想在Python中讀取一維numpy數組並生成其他兩個numpy數組:

  • 如果沒有“ nan”值,則第一個為輸入。 否則,輸入以“ nan”值代替的“ 0”
  • 第二個是掩碼,1 ='輸入值不是'nan','0'='輸入值是nan'

例如:

a = numpy.array([1,2,numpy.nan,4])

會給

[1,2,0,4]
[1,1,0,1]

在python中最有效的方法是什么?

謝謝

要將nan替換為0 ,請使用numpy.nan_to_num

>>> a = numpy.array([1,2,numpy.nan,4])
>>> numpy.nan_to_num(a)
array([ 1.,  2.,  0.,  4.])

使用numpy.isnannan轉換為True ,將非nan數字轉換為False 然后從1減去它們。

>>> numpy.isnan(a)
array([False, False,  True, False], dtype=bool)
>>> 1 - numpy.isnan(a)
array([ 1.,  1.,  0.,  1.])

對於第一個:

numpy.nan_to_num(a)

第二個:

numpy.invert(numpy.isnan(a)).astype(int)

要將NaN轉換為零,請使用:

numpy.nan_to_num(a)

要為非NaN設置1,為NaN設置0,請嘗試:

numpy.isfinite(a)*1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM