关于dtype

来源:3-8 Numpy中的聚合运算

慕沐9165406

2022-01-24

电脑是64位的系统,前面几节课dtype时有的是64位,有的是32位的,像到了这节课这里默认就是32位导致prod出来的结果是32位情况下的运算结果2004189184

写回答

1回答

liuyubobobo

2022-01-24

说明你使用的是 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


继续加油!:)

0
4
慕沐9165406
回复
liuyubobobo
回复 liuyubobo谢谢老师
2022-01-27
共4条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程