![](/img/trans.png)
[英]pandas: how to create a column filled with an interval with right=np.inf?
[英]How can I convert 'np.inf' to an integer type?
我想將np.inf
的返回類型轉換為int
,默認情況下它將返回float
類型。
我已經嘗試了以下方法,但是都給出了錯誤。
int(np.inf)
OverflowError:無法將浮點無窮大轉換為整數
(np.inf).astype(int64)
AttributeError:“ float”對象沒有屬性“ astype”
浮點數有一個標准:“ IEEE 754”(不是特定於python)。 該標准為+/- Infinity和NaN保留了一些特殊的字節序列。 對於整數,不保留此類特殊值,因此不可能具有int無限大。
我做了一些實驗:您可以執行np.array([np.inf]).astype(int)[0]
這將為您提供-9223372036854775808
( -(2 ** 64)/2
)。 np.array([np.nan]).astype(int)[0]
也產生相同的值。
不幸的是,由於注釋表明沒有,但如果您知道所需的整數類型,則可以使用np.iinfo並選擇max或min
np.iinfo(np.int32).max # ---- 2147483647
np.iinfo(np.int32).min # ---- -2147483648
np.iinfo(np.int64).max # ---- 9223372036854775807
np.iinfo(np.int64).min # ---- -9223372036854775808
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.