[英]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.