Python numpy.copy函数方法的使用

numpy.copy 函数用于创建一个数组的副本。这个副本是独立的,即使对副本进行修改,原始数组也不会受到影响。本文主要介绍一下NumPy中copy方法的使用。

numpy.copy

numpy.copy(a, order='K', subok=False) [source]

返回给定对象的数组副本。

参数:

a :array_like

输入数据。

order :{‘C’, ‘F’, ‘A’, ‘K’}, 可选

控制副本的内存布局。'C'表示C-order,

'F'表示F-order,

'a'表示'F'(如果a与Fortran相邻),

否则为'C'“K”的装置的布局匹配一个尽可能接近。

(请注意,此函数和ndarray.copy非常相似,

但是它们的order =参数具有不同的默认值。)

subokbool,可选

如果为True,则子类将被传递,否则返回的数组将被强制为基类数组(默认为False)。

1.19.0版中的新功能。

返回值:

arr :ndarray

a相同的数组

Notes

这等效于:

>>> np.array(a, copy=True)  

例子

import numpy as np

# 创建一个数组
original_array = np.array([1, 2, 3, 4, 5])
print("原始数组:")
print(original_array)

# 使用 numpy.copy 创建副本
copied_array = np.copy(original_array)
print("\n复制的数组:")
print(copied_array)

# 修改副本
copied_array[0] = 99
print("\n修改后的复制数组:")
print(copied_array)

# 检查原始数组是否受到影响
print("\n原始数组(未修改):")
print(original_array)

# 示例:多维数组
multi_array = np.array([[1, 2, 3], [4, 5, 6]])
print("\n原始多维数组:")
print(multi_array)

# 创建多维数组的副本
multi_array_copy = np.copy(multi_array)
print("\n复制的多维数组:")
print(multi_array_copy)

# 修改副本
multi_array_copy[0, 0] = 99
print("\n修改后的复制多维数组:")
print(multi_array_copy)

# 检查原始多维数组是否受到影响
print("\n原始多维数组(未修改):")
print(multi_array)

文档:numpy.copy.html

推荐阅读
cjavapy编程之路首页