6. (简答题) 创建一维a数组10-19(不包括19),b数组20到29(不包括29) (1)修改a,b数组形状为3*3,并打印数组a,b内容; (2)纵向组合a,b数组,组合结果放到c数组并打印; (3)b数组按行方式分割,存入d数组并打印; (4)将修改形状后的数组a、b数组进行相加,将结果存入arry数组
时间: 2025-05-18 11:01:10 浏览: 15
### 创建和操作NumPy数组
#### 创建指定范围的一维数组
为了创建两个一维数组 `a` 和 `b`,可以使用 `np.arange()` 函数来生成特定范围内的一系列整数。对于数组 `a` 来说是从10到19(不包括),而数组 `b` 则是从20到29(不包括)。这可以通过设置起始值、结束值参数实现。
```python
import numpy as np
a = np.arange(10, 20) # 创建包含10到19的数组
b = np.arange(20, 30) # 创建包含20到29的数组
```
#### 改变数组形状
接着将这两个一维数组转换为三维矩阵形式,这里采用的是3×3的形式。通过调用 `.reshape()` 方法完成此操作:
```python
a_reshaped = a.reshape((3, 3))
b_reshaped = b.reshape((3, 3))
```
#### 纵向组合数组
要垂直叠加两个相同大小的二维数组,可利用 `np.vstack()` 或者直接使用 `np.concatenate(..., axis=0)` 实现纵向拼接:
```python
c = np.vstack((a_reshaped, b_reshaped)) # 将两个3x3矩阵沿竖直方向连接起来形成新的6x3矩阵
# 或者 c = np.concatenate((a_reshaped, b_reshaped), axis=0)
```
#### 按行分割数组
如果希望按照每一行来进行拆分,则可以用 `np.vsplit()` 函数处理目标数组,在本例中是对 `b_reshaped` 进行按照行的方式切割,并存储于变量 `d` 中:
```python
d = np.vsplit(b_reshaped, 3) # 对b_reshaped进行三等分行切片得到三个1x3子阵列组成的列表
```
#### 数组相加并将结果保存
最后一步就是把之前调整过尺寸后的 `a_reshaped` 加上同样规格化的 `b_reshaped` 并赋给新变量 `array` ,之后打印出来查看最终效果:
```python
result_array = a_reshaped + b_reshaped # 执行逐元素求和运算
print(result_array) # 输出累加的结果
```
上述过程展示了如何运用 NumPy 库的各种功能高效地创建、变换以及操作多维数据结构[^4]。
阅读全文
相关推荐


















