📜  NumPy Ndarray(1)

📅  最后修改于: 2023-12-03 15:03:18.676000             🧑  作者: Mango

NumPy Ndarray

NumPy ndarray 是 NumPy 库的核心数据结构,用于表示同类型的多维数组。ndarray 是 NumPy 数组的基础,由以下几个部分组成:

  1. 数据类型 dtype,用于表示数组中各元素数据的类型。
  2. 形状 shape,用于表示数组的尺寸,即每个维度的长度。
  3. 轴数 ndim,用于表示数组的维度个数。
  4. 数据内存地址 data,用于表示数组中元素数据的存储位置。
创建 ndarray

有多种方式可以创建 ndarray,其中包括使用 numpy.array 函数,从文件或文件系统中加载数据等。下面是一些常见的创建方式:

使用 numpy.array 函数

使用 numpy.array 函数可以从常规的 Python 列表或元组创建 ndarray。```python import numpy as np

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

输出:array([1, 2, 3])

b = np.array([[1, 2], [3, 4]]) print(b)

输出:array([[1, 2],

[3, 4]])```

使用其他 numpy 函数创建 ndarray

还有一些其他的 numpy 函数可以用于创建 ndarray,例如:

# 创建一个长度为10的数组,值都为0
a = np.zeros(10)

# 创建一个 2x2 全 1 的二维数组
b = np.ones((2, 2))

# 创建单位矩阵
c = np.eye(3)

# 创建一个长度为10,起始值为1,步长为2的一维数组
d = np.arange(1, 20, 2)

# 创建一个 3x3 的随机数组
e = np.random.random((3, 3))
NumPy Ndarray 的一些常见操作

以下是一些常见的 NumPy Ndarray 操作:

ndarray 的形状修改

可以使用 reshape 函数来修改 ndarray 对象的形状:

import numpy as np

# 创建一个一维数组
a = np.array([1,2,3,4])

# 将一维数组转化为二维数组
b = a.reshape((2, 2))

print(a)
# 输出:array([1, 2, 3, 4])

print(b)
# 输出:array([[1, 2],
#              [3, 4]])```

### 数组的切片和索引

可以对 ndarray 对象进行切片,并使用索引获取数组中的单个元素:

```python
import numpy as np

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

print(a[1, 2])
# 输出:6

print(a[1, :])
# 输出:[4, 5, 6]```

### 数组的运算

Ndarray 支持大多数数学运算操作,例如加、减、乘、除等:

```python
import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])

c = a + b
d = a * b

print(c)
# 输出:array([[6, 8],
#              [10, 12]])

print(d)
# 输出:array([[5, 12],
#              [21, 32]])```

## 总结

NumPy Ndarray 是 NumPy 库的核心数据结构,可以用于表示同类型的多维数组。Ndarray 支持多种创建方式,并支持对数组进行形状修改、切片和索引以及数学运算等操作。