python - 使用高级索引修改 numpy 数组时会创建什么副本?
问题描述
的高级索引的文档numpy
说:
高级索引始终返回数据的副本(与返回视图的基本切片相反)。
我使用示例代码理解这一点
tmp = np.array([0,0,0,1,1,1])
new = tmp[tmp == 0]
new[1] = 5
原始数组tmp
未修改。
但是,当我使用高级切片来修改数组时会发生什么?例如
tmp = np.array([0,0,0,12,12,12,4,5,4,4])
uni = np.unique(tmp)
for info in enumerate(uni):
tmp[tmp == info[1]] = info[0]
显然,tmp
在修改过程中,创建了什么副本?
解决方案
推荐阅读
- javascript - 检查量角器中是否存在元素
- javascript - 如何只在主页上运行一次脚本?
- reactjs - 以正确的方式卸载 React 组件
- ssl - 使用 Azure KeyVault 时存储的 SSL“密钥”是哪个 VM 目录?
- java - 当一个类在现场初始化时,它叫什么?
- javascript - 在javascript中重定向不起作用
- django - django - /admin/login/ has_module_perms() 的 TypeError 采用 2 个位置参数,但给出了 3 个
- python - 如何围绕图像中心旋转多个矩形坐标
- python - 比较两个数据框并得到错误
- telegram - 如何从电报组中的共享媒体中删除旧照片