[英]numpy 1D array to numpy arrays
我想在Python中讀取一維numpy數組並生成其他兩個numpy數組:
例如:
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.isnan
將nan
轉換為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.