Numpy中ndim、shape、dtype、astype的用法详解

1. ndim

首先来看一下ndim的用法。在NumPy中,ndarray对象的ndim属性表示数组的维度(即数组的轴数)。具体而言,它返回数组的轴数,即维度的数量。

Example:

import numpy as np

arr1 = np.array([1, 2, 3])

print(arr1.ndim) # 输出1,表示一维数组

arr2 = np.array([[1, 2, 3], [4, 5, 6]])

print(arr2.ndim) # 输出2,表示二维数组

从上面的例子可以看出,arr1是一个一维数组,而arr2是一个二维数组,因此它们的ndim属性分别返回了1和2。

2. shape

shape属性用于获取数组的形状,即数组在各个维度的大小。它返回一个元组,其中的每个元素表示数组在相应维度上的大小。

Example:

arr = np.array([[1, 2, 3], [4, 5, 6]])

print(arr.shape) # 输出(2, 3),表示二维数组,第一维大小为2,第二维大小为3

在上面的例子中,arr是一个形状为(2, 3)的二维数组,即它有2行3列。通过shape属性获取到的形状为一个元组(2, 3)。

3. dtype

dtype属性用于获取数组的数据类型。在NumPy中,数组的数据类型可以是整数、浮点数、复数、布尔值等。NumPy提供了多种数据类型供用户选择。

Example:

arr = np.array([1, 2, 3])

print(arr.dtype) # 输出int64,表示数组的数据类型为64位整数

arr = np.array([1.5, 2.3, 3.7])

print(arr.dtype) # 输出float64,表示数组的数据类型为64位浮点数

arr = np.array(["apple", "banana", "orange"])

print(arr.dtype) # 输出<U6,表示数组的数据类型为Unicode字符串,每个字符串的最大长度为6

在上面的例子中,arr1的数据类型是64位整数,arr2的数据类型是64位浮点数,arr3的数据类型是Unicode字符串。

4. astype

astype方法用于改变数组的数据类型。它接受一个参数,即要转换的目标数据类型。它返回一个新的数组,该数组的元素类型被更改为目标数据类型。

Example:

arr = np.array([1, 2, 3])

new_arr = arr.astype(float)

print(new_arr) # 输出[1. 2. 3.],表示将arr转换为浮点数类型的数组

arr = np.array([1.5, 2.3, 3.7])

new_arr = arr.astype(int)

print(new_arr) # 输出[1 2 3],表示将arr转换为整数类型的数组

在上面的例子中,arr1是一个整数类型的数组,通过astype方法将其转换为浮点数类型的数组new_arr。arr2是一个浮点数类型的数组,通过astype方法将其转换为整数类型的数组new_arr。

需要注意的是,astype方法返回的是一个新的数组,原数组并未被修改。

总结

在本文中,我们详细介绍了NumPy中ndim、shape、dtype和astype的用法。

ndim属性用于获取数组的维度,返回数组的轴数。

shape属性用于获取数组的形状,返回一个元组,其中的每个元素表示数组在相应维度上的大小。

dtype属性用于获取数组的数据类型,返回数组的数据类型。

astype方法用于改变数组的数据类型,返回一个新的数组。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签