numpy - 反射/镜像填充如何工作?在numpy还是一般?
问题描述
我正在对一个向量说 [1,2,3] 运行以下命令。其中前两个我可以解释。每个额外的填充坐标都围绕最后一个元素 (3) 镜像。但是在那之后我不能。
这里肯定有一个 4 的循环,这意味着mod of 2*(len(a) -1)
.
如果有人打破了这一点,我将不胜感激。此示例用于结束反射。如果开始的反思有什么不同,我也很想听听:
>>> a
array([1., 2., 3.])
>>> np.pad(a, ((0,1)), 'reflect')
array([1., 2., 3., 2.])
>>> np.pad(a, ((0,2)), 'reflect')
array([1., 2., 3., 2., 1.])
>>> np.pad(a, ((0,3)), 'reflect')
array([1., 2., 3., 2., 1., 2.])
>>> np.pad(a, ((0,4)), 'reflect')
array([1., 2., 3., 2., 1., 2., 3.])
>>> np.pad(a, ((0,5)), 'reflect')
array([1., 2., 3., 2., 1., 2., 3., 2.])
>>> np.pad(a, ((0,6)), 'reflect')
array([1., 2., 3., 2., 1., 2., 3., 2., 1.])
>>> np.pad(a, ((0,7)), 'reflect')
array([1., 2., 3., 2., 1., 2., 3., 2., 1., 2.])
>>> np.pad(a, ((0,8)), 'reflect')
array([1., 2., 3., 2., 1., 2., 3., 2., 1., 2., 3.])
>>> np.pad(a, ((0,9)), 'reflect')
array([1., 2., 3., 2., 1., 2., 3., 2., 1., 2., 3., 2.])
解决方案
想象一下,穿过原始数组,每次遇到边界时,您都会转向另一个方向。
当您向右前进并到达终点时,您会反思并开始迭代回到起点。当您向左前进并回到起点时,您会反思并开始迭代回到终点。
以这种方式将序列可视化为一系列反射可能会有所帮助:
[1, 2, 3]
1
2
3
2
1
2
3
2
1
2
3
2
1
推荐阅读
- powerbi - 自定义函数 Power Query (M) - 返回表
- visual-studio - 更改多个文件的语言模式
- android - 房间多对多错误:查询返回的列没有字段
- c# - 如何使节点成为 ParentNode?
- c++ - 在您的应用程序中使用 dbghelp 的最佳实践
- python - 从 QML 的通信 --> 到 Python --> 返回到 QML
- powershell - 如何使用 PowerShell 从“应用程序和服务日志”中读取分析 Windows 事件?
- flutter - 有什么方法可以使用 Flutter/Dart 在 Windows 上列出物理磁盘?
- javascript - React/Mobx:从数组中计算选定的 ID
- python - Python 获取会话密钥(BeautifulSoup)