Dataframeにおけるinfの処理テクニック
numpyにおけるinfに関するドキュメント
infとは?
IEEE 754浮動小数点は無限大を表す.
どうして生まれたの?
infを生み出すメリットは何ですか?
今のところ何のメリットも見られませんが、単純にinfで無限大を表すだけで、理解と表現が便利です.
infを生むのはどんな悪いところがありますか?
ユーザにとってinfには特殊な処理が必要であり,作業量が増大した.なぜ特別な処理が必要なのですか?多くの機械学習アルゴリズムライブラリはinfの処理をサポートしていないからである.
どうやって処理しますか?
一般的な処理方法:非処理 置換 どのようにinfの位置を取得して埋めますか?
以上が本文の内容で、良いのは注目することができると思います.
infとは?
IEEE 754浮動小数点は無限大を表す.
どうして生まれたの?
>>> np.NINF
-inf
>>> np.inf
inf
>>> np.log(0)
-inf
>>> np.array([1,2])/0 #
array([ inf, inf])
infを生み出すメリットは何ですか?
今のところ何のメリットも見られませんが、単純にinfで無限大を表すだけで、理解と表現が便利です.
infを生むのはどんな悪いところがありますか?
ユーザにとってinfには特殊な処理が必要であり,作業量が増大した.なぜ特別な処理が必要なのですか?多くの機械学習アルゴリズムライブラリはinfの処理をサポートしていないからである.
どうやって処理しますか?
一般的な処理方法:
'''
isinf:
isposinf:
isneginf:
isnan:
isfinite: ( , )
'''
>>> np.isinf(np.inf) # ,isinf 。
True
>>> np.isinf(np.array([1,np.inf]))
array([False, True], dtype=bool)
>>>np.isinf(pd.DataFrame(np.array([1,np.inf])))
0
0 False
1 True
>>>s1 = pd.Series([1,2,3,np.inf])
>>>s1
0 1.0
1 2.0
2 3.0
3 NaN
dtype: float64
# inf 999
>>>s1[np.isinf(s1)] = 999
>>>s1
0 1.0
1 2.0
2 3.0
3 999.0
dtype: float64
# inf np.nan ( )
>>>s1[np.isinf(s1)] = np.nan
>>>s1
0 1.0
1 2.0
2 3.0
3 NaN
dtype: float64
以上が本文の内容で、良いのは注目することができると思います.