问题描述
我在笔记本电脑上安装了 Anaconda 3 64 位,并在 Spyder 中编写了以下代码:
I have installed Anaconda 3 64 bit on my laptop and written the following code in 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
这些命令的输出显示如下:
Output of these commands show the following:
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')
我的问题是,即使我的系统是 64 位的,为什么默认数组类型是 int32 而不是 int64?
My question is that even though my system is 64bit, why by default the array type is int32 instead of int64?
感谢任何帮助.
推荐答案
默认整数类型np.int_是C long:
Default integer type np.int_ is C long:
http://docs.scipy.org/doc/numpy-1.10.1/user/basics.types.html
但是 C long 在 win64 中是 int32.
But C long is int32 in win64.
https://msdn.microsoft.com/en-us/library/9c3yd98k.aspx一个>
这有点奇怪.