python - numpy :在围绕数组边界循环时对数组进行切片(甜甜圈的拓扑)
问题描述
我试图通过可能重叠数组的边界来切片一个 numpy 数组。我希望我手中有一个拓扑甜甜圈,但这并没有达到我的预期。举个例子值得一千字:
import numpy as np
# a 10x10 array with c
arr =np.array([[ c + 10 * r for c in range(10)] for r in range(10) ])
print(t[1:3,8:1])
给
[]
即使我预料到:
[[ 81,82],
[ 91,92],
[ 1, 2]]
我认为python支持负位置,但在使用时它也失败了:
print(t[1:3,-2:1])
[]
我错过了什么吗?
解决方案
正如hpaulj提到的那样,这是不可能的。
但是,可以使用numpy.append
或创建一个存储自定义切片的新数组。不幸的是,这将无法通过编辑切片中的数据来更改原始数组中的数据。
最后一个限制使它对我的情况不切实际和无用,但是如果您偶然发现这个问题并且您不需要结果作为参考,请随时留下一个赞。
推荐阅读
- python - 如何在 Python 中分配字符串类型的数据?
- pytorch - PyTorch CNN 永远不会收敛(怀疑是实现问题)
- python - PySpark 正则表达式引擎不匹配
- ansible - 适用于 Windows 或 Linux 的 Ansible Playbook
- android - Android:从 android studio 终端上传 apk 到 google drive 帐户
- c++ - 找出每组奶牛的数量
- c++ - 如何使用 std::error_code 检测除以零
- r - 估计多重回归的系数
- gitlab - 某些存储库的 Gitlab-ce 备份还原失败
- jackson - 如何使用 Jackson XmlMapper() 指定命名空间