有没有办法“扩展”数组并重复最后一个元素来填充扩展?
另一篇文章讨论了扩展和填充,0但我希望重复最后一个值作为填充。
假设我有一个数组:
[[1, 2],
[3, 4],
[0, 0]]
Run Code Online (Sandbox Code Playgroud)
我需要插入[5, 6, 6]来替换[0, 0],显然 NumPy 不允许这样做。但我可以重塑/扩展为:
[[1, 2, 2],
[3, 4, 4],
[5, 6, 6]]
Run Code Online (Sandbox Code Playgroud)
我正在读取一个文件,其中值的数量长度可能有所不同,但我需要数组具有相同的形状。执行此操作的一种方法是首先读取文件并找到最大长度,然后再次读取并填充,但该文件有 10GB 以上,因此我更愿意通过“扩展”并重复回填来一次性完成此操作。
看起来您需要的是使用该模式的numpy.padedge。来自文档:
\xe2\x80\x98edge\xe2\x80\x99\n Pads with the edge values of array.\nRun Code Online (Sandbox Code Playgroud)\n\n示例代码:
\n\n>>> ar = np.array([[1,2], [4,5]])\n>>> ar\narray([[1, 2],\n [4, 5]])\n>>> np.pad(ar, [(0, 0), (0, 4)], mode="edge")\narray([[1, 2, 2, 2, 2, 2],\n [4, 5, 5, 5, 5, 5]])\nRun Code Online (Sandbox Code Playgroud)\n\n第一个 (0, 0) 元组指定第一个轴上没有填充,而第二个基本上“向左侧添加 0 填充,向右添加 4”
\n| 归档时间: |
|
| 查看次数: |
1107 次 |
| 最近记录: |