.shape()函数是返回数组的形状(行和列),reshape是改变数组的形状。设一个二维数组为 Tarray=[[1,2,4],[4,5,6],[7,8,9],[8,9,101]],请利用shape ()函数输出Tarray的形状,并进一步利用reshape()函数将 Tarray的形状改为2行6列。resize()函数也可以改变数组的形状,有什么区别呢?
时间: 2024-03-10 07:47:53 浏览: 24
好的,以下是代码实现:
```python
import numpy as np
# 定义数组
Tarray = np.array([[1, 2, 4], [4, 5, 6], [7, 8, 9], [8, 9, 101]])
# 输出数组形状
print("Tarray的形状为:", Tarray.shape)
# 改变数组形状为2行6列
Tarray_reshape = Tarray.reshape(2, 6)
print("Tarray改变形状后为:\n", Tarray_reshape)
# 使用resize函数改变数组形状
Tarray_resize = np.resize(Tarray, (2, 6))
print("Tarray使用resize改变形状后为:\n", Tarray_resize)
```
输出结果:
```
Tarray的形状为: (4, 3)
Tarray改变形状后为:
[[ 1 2 4 4 5 6]
[ 7 8 9 8 9 101]]
Tarray使用resize改变形状后为:
[[ 1 2 4 4 5 6]
[ 7 8 9 8 9 101]]
```
`shape`函数和`reshape`函数都可以改变数组的形状,但有以下区别:
- `shape`函数返回的是原数组的形状,不改变原数组。
- `reshape`函数返回的是一个新的数组,原数组不变。
- `resize`函数可以改变原数组的形状。如果新的形状比原来的形状大,那么将会按照原数组的元素进行重复填充,如果新的形状比原来的形状小,那么将会按照新的形状进行截断。