一、numpy数据类型
numpy是一个基于python的科学计算库,这个库提供了很多数据类型,比如bool、int、float、complex等类型。numpy里有83种数据类型,可以满足大多数数据类型的需求。
二、numpy数组数据类型转换
numpy提供了astype函数,可以用于数组的数据类型转换。astype()函数的语法如下:
arr.astype(dtype)
其中arr为要转换的数组,dtype为目标数据类型。astype()函数会返回一个新数组,原数组不会被修改。astype()函数可以接受很多种数据类型,可以是numpy数组数据类型,也可以是python原生数据类型(比如int、float等)。
三、numpy数据类型代码
numpy里的每个数据类型都对应一个字符串代码,这些代码是用来指定数组类型的。下面是一些常见的numpy数据类型与其代码:
- int8:i1
- int16:i2
- int32:i4
- int64:i8
- uint8:u1
- uint16:u2
- uint32:u4
- uint64:u8
- float16:f2
- float32:f4
- float64:f8
- complex64:c8
- complex128:c16
- bool:?
四、numpy数据类型转换
有时候,我们需要将一个数组从一个数据类型转换成另一个数据类型。比如,我们可能需要将整型数组转换成浮点型数组,或者将布尔型数组转换成整型数组等。numpy提供了astype()函数用于数组数据类型转换。
下面是一个例子,将一个整型数组转换成浮点型数组:
import numpy as np arr_int = np.array([1, 2, 3, 4, 5]) arr_float = arr_int.astype(np.float64) print("arr_int的数据类型:", arr_int.dtype) print("arr_float的数据类型:", arr_float.dtype)
执行上面的代码会得到如下输出:
arr_int的数据类型: int32 arr_float的数据类型: float64
五、numpy主要数据类型
numpy的主要数据类型有以下几种:
- int
- float
- complex
- bool
- object
- string_
- unicode_
这些数据类型在numpy里都有相应的字符串代码表示。例如,int对应的字符串代码是i。
六、numpy常用的数据类型
在日常工作中,我们经常使用的一些numpy数据类型有:
- int32:32位整型
- float64:64位浮点型
- bool:布尔型
- object:Python对象
- string_:字符串型
- datetime64:时间日期型
七、numpy修改数据类型
除了astype()函数外,numpy还提供了其他函数用于修改数组数据类型。例如,numpy中的view()函数可以创建一个新的数组,该数组与原数组共享数据缓冲区,但拥有不同的数据类型。下面是一个例子:
import numpy as np arr_f = np.array([1.1, 2.2, 3.3, 4.4]) arr_i = arr_f.view(dtype=np.int32) print("arr_f的数据类型:", arr_f.dtype) print("arr_i的数据类型:", arr_i.dtype) print("arr_f:", arr_f) print("arr_i:", arr_i)
执行上面的代码会得到如下输出:
arr_f的数据类型: float64 arr_i的数据类型: int32 arr_f: [1.1 2.2 3.3 4.4] arr_i: [ 0 1071225240 1075838976 1077936128]
从上面的输出可以看出,view()函数创建了一个新的数组arr_i,它与原数组arr_f共享数据缓冲区,但数据类型不同。
八、numpy查看数据类型
我们可以使用dtype属性来查看一个numpy数组的数据类型。例如:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr.dtype)
执行上面的代码会得到如下输出:
int32
九、numpy默认数据类型
当我们创建一个numpy数组时,如果没有显式地指定数据类型,numpy会根据数据的类型自动选择默认的类型。例如,如果我们创建一个包含整数和浮点数的数组,numpy会选择浮点数类型作为默认类型。
import numpy as np arr = np.array([1, 2.0, 3, 4.0, 5]) print(arr.dtype)
执行上面的代码会得到如下输出:
float64
十、numpy的数据类型有哪些
numpy里有很多数据类型,这里列出一些比较常用的数据类型与其代码:
- int8:i1
- int16:i2
- int32:i4
- int64:i8
- uint8:u1
- uint16:u2
- uint32:u4
- uint64:u8
- float16:f2
- float32:f4
- float64:f8
- complex64:c8
- complex128:c16
- bool:?
- object:O
- string_:S
- unicode_:U
numpy提供了很多函数可以用来进行数据类型的转换和修改。如果你需要对数组的数据类型进行操作,numpy有很多可以使用的函数。