Python内置的基本数据类型,每个类别只有一种,比如只有一种整数int,只有一种浮点数float。对于不需要关心计算机如何存储数据的应用,只提供一种选择是非常方便的。但是对于科学计算而言,这是不够的,为了性能和精度往往需要根据具体场景控制更多的细节。为此,NumPy内置了多种基本标量类型。
一、数组标量
标量(scalar),与矢量相对,是只有大小,没有方向的量。
Numpy中有数种(一说是24,但貌似不对)不同类型的标量,数组标量与ndarray具有相同的属性和方法,不过这点貌似没什么卵用,如:
>>> import numpy as np
>>> np.int32.size
<attribute 'size' of 'numpy.generic' objects>
数组标量的层次结构图:
一些标量类型本质上等同于Python的基本类型,因此和继承通用数组标量类型一样,也继承自python类型:
Array scalar type |
Related Python type |
Inherits? |
int_ |
int |
Python 2 only |
float_ |
float |
yes |
complex_ |
complex |
yes |
bytes_ |
bytes |
yes |
str_ |
str |
yes |
bool_ |