apo*_*sis 6 python numpy nan python-3.x
我有一个包含浮点数和 NaN 的数组,但是当我调用numpy.nanmean()该数组时,我得到了NaN结果。这怎么可能?
这是数组的示例ages
[22.0 38.0 26.0 35.0 35.0 nan 54.0 2.0 27.0 14.0 4.0 58.0 20.0 39.0 14.0
55.0 2.0 nan 31.0 nan 35.0 34.0 15.0 28.0 8.0 38.0 nan 19.0 nan nan 40.0
nan nan 66.0 28.0 42.0 nan 21.0 18.0 14.0 40.0 27.0 nan 3.0 19.0 nan nan
nan nan 18.0 7.0 21.0 49.0 29.0 65.0 nan 21.0 28.5 5.0 11.0 22.0 38.0 45.0
...
Run Code Online (Sandbox Code Playgroud)
形状
(891,)
Run Code Online (Sandbox Code Playgroud)
并np.nanmean(ages)返回nan
numpy.ndarray正如我们在上面的评论中指出的,当一维列表中只有 float 和s 时,有一维列表的 dtype是很奇怪的NaN。这让我认为您正在以有缺陷的方式生成数据,例如从文件内容手动创建数组而不删除空行等。
要解决此问题,请将数组转换(或查看)为不同的数据类型。尝试
np.nanmean(ages.astype('float64'))
Run Code Online (Sandbox Code Playgroud)
如果有效,您应该永久更改其数据类型
ages = ages.astype('float64')
Run Code Online (Sandbox Code Playgroud)
并重新审视你的数组生成,因为我 99% 确定那里出了问题。
| 归档时间: |
|
| 查看次数: |
5672 次 |
| 最近记录: |