numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
问题描述
我在笔记本电脑上安装了 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一个>
这有点奇怪.
相关文章