python - 为什么 np.resize() out_place,而 ndarray.resize() in_place?
问题描述
根据我的理解,与 classes
instance.method(parameters)=class.method(instance,parameters)
,所以这只是一个符号差异。但是np.resize(ndarray)
改变了out_place,而ndarray.resize()
改变了in_place。
我错过了什么?
解决方案
是的,但numpy
不是class,而是模块。你想numpy.ndarray
作为班级。观察:
In [1]: import numpy as np
In [2]: arr = np.array([1,2,3])
In [3]: np.ndarray.resize(arr, (3,1))
In [4]: arr
Out[4]:
array([[1],
[2],
[3]])
In [5]: np.ndarray.resize(arr, (3,))
In [6]: arr
Out[6]: array([1, 2, 3])
因此,numpy.resize
它只是一个模块级函数,它返回一个新数组,而不是就地修改数组。
推荐阅读
- javascript - 将条目索引页面存储到 cookie 并将访问者发送回该索引页面,而不考虑文件夹
- .htaccess - htaccess 配置以提高 OpenCart 2.3.0.2 页面速度并重定向到 https://www
- sql - 命名选择时如何解决无效的对象名称/
- angular - 如何从内部文件夹结构Angular 7中读取文件名?
- java - 尝试使用资源如何使用自定义逻辑来关闭连接
- nginx - nginx:连接()失败(111:连接被拒绝)同时连接到上游以进行 Docker 设置
- javascript - fetch api 返回 `function text() { [native code] }`
- java - 如何从 maven Central 构建 nifi 处理器 nar 文件和依赖项
- c# - Xamarin - 在对它的所有引用超出范围之前创建的调用 System.IDisposable.Disposeon 对象
- c++ - Swig C++:接口向量