NumPy 或 Pandas:将数组类型保留为整数,同时具有"inf"值



现在,我知道新版本的panda有一个特殊的数据类型扩展'Int64',它允许丢失的值与同一列中的整数共存,本主题也解释了很多。但是,我希望有一个整数列,它也允许无穷大的值。但是,当我试图将float('inf')添加到具有"Int64"类型的列中时,我会得到一个错误:"无法安全地将非等效float64强制转换为Int64"。

我之所以在列中想要无穷大的值,是因为我有一列整数距离,虽然其中一些距离是未知的,但已知这些距离超过了3000米。当我计算这列的中位数时,它会产生差异。例如,数组[1,5,10,10,50,nan,nan]的中值为10,因为忽略了nan值。但是数组[1,5,10,20,50,inf,inf,nan]的中值是20,因为inf值被认为大于50。

有什么方法可以使整数与"inf"值兼容吗?还是我只能将就着用浮子?

Math-inf应该适用于您的情况-

import math
import statistics as stat

test = math.inf
a = [1, 5, 10, 20, 50, test, test, float("nan")] 
print(stat.median(a))

最新更新