0
私は整数の組またはnp.nanを返すことになっている関数を持っています。リストの理解の中でnp.nanをチェックする方法は?
return tuple(int(round(n)) if n is not np.nan else n for n in r)
コードは私にはうまく見えますが、次のエラーが表示され、何が間違っているかわかりません。
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-7-368ab2ecd3f3> in <module>()
6 warnings.filterwarnings("ignore") #ignore numpy warnings
7 for k,v in bb_mapping.items():
----> 8 print(k, map_overview(v))
<ipython-input-2-6f1dc6e291ee> in map_overview(map_tuples)
120
121 r = (np.mean(bb_len), np.std(bb_len), np.mean(ins_len), np.std(ins_len))
--> 122 return tuple(int(round(n)) if n is not np.nan else n for n in r)
123
124 def print_sbar(n,m,s='|#.|',size=30,message=''):
<ipython-input-2-6f1dc6e291ee> in <genexpr>(.0)
120
121 r = (np.mean(bb_len), np.std(bb_len), np.mean(ins_len), np.std(ins_len))
--> 122 return tuple(int(round(n)) if n is not np.nan else n for n in r)
123
124 def print_sbar(n,m,s='|#.|',size=30,message=''):
ValueError: cannot convert float NaN to integer
整数に変換する前にnp.nanの値を明示的にチェックしていると、このエラーが発生することはありますか?
私は手動でのリターンコードをチェックすると、リストの内包が期待通りに動作しますが、十分な奇妙な:
は、私がここで何をしないのですか?
私は 'np.nan'が一度だけインスタンス化されることを確信していました。それは正しい方法です。先端のおかげで、それは私の問題を解決しました。 –