numpy中view的用法
时间: 2023-10-01 22:08:38 浏览: 56
在NumPy中,view()函数返回一个新的数组对象,该数组对象与原始数组共享内存,但具有不同的形状和/或步幅。具体来说,view()函数可以创建一个新的数组对象,该数组对象与原始数组具有相同的数据,但将其重新解释为具有不同维数、大小和步幅的数据。这意味着,如果您更改新数组中的元素,则原始数组中的相应元素也会更改。
view()函数的语法如下所示:
```python
numpy.ndarray.view(dtype=None, type=None)
```
其中,dtype参数是新数组中元素的数据类型,type参数是新数组的类型。如果没有指定这些参数,则新数组将具有与原始数组相同的数据类型和类型。
以下是一些使用view()函数的示例:
```python
import numpy as np
# 创建一个包含10个元素的一维数组
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 使用view()函数创建一个新的数组,该数组与原始数组共享内存,但具有相反的顺序
b = a.view()
b = b[::-1]
# 打印原始数组和新数组
print(a) # [1 2 3 4 5 6 7 8 9 10]
print(b) # [10 9 8 7 6 5 4 3 2 1]
# 更改新数组中的元素
b[0] = 100
# 打印原始数组和新数组
print(a) # [100 2 3 4 5 6 7 8 9 10]
print(b) # [100 9 8 7 6 5 4 3 2 1]
# 创建一个包含9个元素的二维数组
c = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 使用view()函数创建一个新的数组,该数组与原始数组共享内存,但具有不同的形状和步幅
d = c.view(dtype=np.int16, type=np.matrix)
# 打印原始数组和新数组
print(c) # [[1 2 3] [4 5 6] [7 8 9]]
print(d) # [[1 2 3] [4 5 6] [7 8 9]]
# 更改新数组中的元素
d[0, 0] = 100
# 打印原始数组和新数组
print(c) # [[100 2 3] [ 4 5 6] [ 7 8 9]]
print(d) # [[100 2 3] [ 4 5 6] [ 7 8 9]]
```
在这些示例中,我们使用view()函数创建了新的数组对象,并演示了如何使用它们来更改原始数组。请注意,新数组和原始数组共享相同的内存,因此更改新数组中的元素会更改原始数组中的相应元素。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)