numpy.where
正在将float
数组转换为int
。
使用jupyter笔记本
x = np.array([1.0, 2.3, 1.3, 2.9])
print(x)
print(np.where(x>.1))
我期望这样的结果:[1.0, 2.3, 1.3, 2.9]
。我确定我缺少什么。
答案 0 :(得分:3)
numpy.where为您提供条件成立的索引列表。您可能想在实际数组中使用这些索引来获取元素
In [44]: import numpy as np
In [45]: x = np.array([1.0, 2.3, 1.3, 2.9])
In [47]: np.where(x>.1)
Out[47]: (array([0, 1, 2, 3]),)
In [48]: x[np.where(x>.1)]
Out[48]: array([1. , 2.3, 1.3, 2.9])