假设我有1x1x1x1x ...数组,并希望将其转换为标量?如何将单例数组转换为Python中的标量值?
我该怎么做?
squeeze
没有帮助。
import numpy as np
matrix = np.array([[1]])
s = np.squeeze(matrix)
print type(s)
print s
matrix = [[1]]
print type(s)
print s
s = 1
print type(s)
print s
假设我有1x1x1x1x ...数组,并希望将其转换为标量?如何将单例数组转换为Python中的标量值?
我该怎么做?
squeeze
没有帮助。
import numpy as np
matrix = np.array([[1]])
s = np.squeeze(matrix)
print type(s)
print s
matrix = [[1]]
print type(s)
print s
s = 1
print type(s)
print s
可以使用item()
功能:
import numpy as np
matrix = np.array([[[[7]]]])
print(matrix.item())
输出
7
您可以使用np.take
-
np.take(matrix,0)
采样运行 -
In [15]: matrix = np.array([[67]])
In [16]: np.take(matrix,0)
Out[16]: 67
In [17]: type(np.take(matrix,0))
Out[17]: numpy.int64
你可以索引与空的元组挤压后:
x = np.array([[[1]]])
s = np.squeeze(x)
val = s[()]
print val, type(val)