转换数据类型
ndarray对象的数据类型可以通过astype()方法进行转换,示例代码如下:
In [22]: data = np.array([[1, 2, 3], [4, 5, 6]])
In [23]: data.dtype
Out[23]: dtype('int64')
In [24]: float_data = data.astype(np.float64) # 数据类型转换为float64
In [25]: float_data.dtype
Out[25]: dtype('float64')
上述示例中,将数据类型int64转换为float64,即整型转换为浮点型。若希望将数据的类型由浮点型转换为整型,则需要将小数点后面的部分截掉,具体示例代码如下。
In [26]: float_data = np.array([1.2, 2.3, 3.5])
In [27]: float_data
Out[27]: array([1.2, 2.3, 3.5])
In [28]: int_data = float_data.astype(np.int64) # 数据类型转换为int64
In [29]: int_data
Out[29]: array([1, 2, 3], dtype=int64)
如果数组中的元素是字符串类型的,且字符串中的每个字符都是数字,则也可以使用astype()方法将字符串转换为数值类型,具体示例如下。
In [30]: str_data = np.array(['1', '2', '3'])
In [31]: int_data = str_data.astype(np.int64)
In [32]: int_data
Out[32]: array([1, 2, 3], dtype=int64)