我在笔记本电脑上安装了Anaconda 3 64位,并在Spyder中编写了以下代码:
import numpy.distutils.system_info as sysinfo
import numpy as np
import platform
sysinfo.platform_bits
platform.architecture()
my_array = np.array([0,1,2,3])
my_array.dtype
Run Code Online (Sandbox Code Playgroud)
这些命令的输出显示以下内容:
sysinfo.platform_bits
Out[31]: 64
platform.architecture()
Out[32]: ('64bit', 'WindowsPE')
my_array = np.array([0,1,2,3])
my_array.dtype
Out[33]: dtype('int32')
Run Code Online (Sandbox Code Playgroud)
我的问题是,即使我的系统是64位,为什么默认情况下数组类型是int32而不是int64?
任何帮助表示赞赏.
我正在尝试使用numpy元素方形数组.我注意到有些值显示为负数.平方值不接近max int limit.有谁知道为什么会发生这种情况以及如何解决这个问题?我宁愿避免使用for循环来对数组元素进行平方,因为我的数据集非常大.
这是一个正在发生的事情的例子:
import numpy as np
test = [1, 2, 47852]
sq = np.array(test)**2
print(sq)
print(47852*47852)
Run Code Online (Sandbox Code Playgroud)
输出:
[1,4, -2005153392]
2289813904
Run Code Online (Sandbox Code Playgroud)