关于dtype
来源:3-8 Numpy中的聚合运算
慕沐9165406
2022-01-24
电脑是64位的系统,前面几节课dtype时有的是64位,有的是32位的,像到了这节课这里默认就是32位导致prod出来的结果是32位情况下的运算结果2004189184
写回答
1回答
-
说明你使用的是 Windows 系统。
dtype 默认的整型数据,对应的数据类型是 C 语言的 long,而在 Windows 下,long 默认是 32 位的(即使你的 Windows 操作系统是 64 位的)。
关于这个问题,可以参考这个 issue:https://github.com/numpy/numpy/issues/9464
微软在 Windows 下的数据长度说明可以参考这里:https://docs.microsoft.com/en-us/cpp/c-language/storage-of-basic-types?redirectedfrom=MSDN&view=msvc-170
如果你需要顾及跨平台(尤其是Linux/Unix/MacOS 和 Windows 之间的兼容),不建议使用 default 的数据类型,而是显式声明清楚数据类型,比如这个问答里这个同学的写法:https://coding.imooc.com/learn/questiondetail/Dg8m5XZqrAzYWa4B.html
继续加油!:)
042022-01-27
相似问题