我正在尝试计算整数的中位数并返回numpy
中的整数。根据{{3}}的文档:
import numpy as np
m1 = np.median((1,2,3))
myout = np.zeros_like(m1, dtype=np.intp)
m2 = np.median((1,2,3), out=myout)
但是,在我的调试控制台中输入myout
和m2
时,我得到的唯一值是<ndarray>
。如何获取存储在那里的值?有吗?我做错了什么?
更新
我从您的评论中注意到,print(m2)
确实打印了2
,这就是我想要的。但是,m2
仍然很奇怪,因为m2.shape
是()
而m2.ndim
是0
。这可能导致调试控制台不显示2
的值。所以我现在的问题是,ndarray
如何保持零维度并仍然存储数据?
print(m2)
print(m2.shape)
print(m2.ndim)
答案 0 :(得分:1)
我无法复制你的错误,这对我来说非常有效。也许一些版本问题?尝试以你想要的方式使用m2和myout。这是我跑的:
>>> import numpy as np
>>> m1 = np.median((1,2,3))
>>> print (m1)
2.0
>>> myout = np.zeros_like(m1, dtype=np.intp)
>>> m2 = np.median((1,2,3), out=myout)
>>> print(myout)
2
>>> print(m2)
2