在这篇文章中,我们将学习如何在Python中复制一个numpy数组。数组经常被从一个复制到另一个。Numpy有许多复制数组的方法。一个NumPy数组可以被复制到另一个NumPy数组。在创建新数组后,原数组的内容被复制到新数组中。有很多方法可以将一个Numpy数组复制到另一个数组。我们将在这篇文章中看一下三种基本的方法。
什么是Python中的Numpy数组?
Numerical Python被缩写为NumPy。很多时候,列表被用来表示Python中的数组。但是,它的处理速度很慢。NumPy数组是一个强大的N维数组对象,在线性代数、傅里叶变换和随机数中都有应用。
Numpy数组可以是一维的也可以是多维的。Numpy数组创建数组对象的时间仅为创建Python列表的一小部分。
Numpy数组的应用
Python中的NumPy数组可用于整合C、C++和其他语言。它在线性代数、随机数生成和其他领域也很有用。NumPy数组也可以用来在一个多维容器中存储通用数据。现在,让我们看看Python中的NumPy数组是什么。
单维的Numpy数组
import numpy as np
list = [233,900,888]
n=np.array(list)
print(n)
输出
[233 900 888]
多维Numpy数组
arr=np.array ([(1, 2, 3), (2, 4, 5)]
print(arr)
输出
[1,2,3]
[2,4,5]
如何在Python中复制一个Numpy数组?
现在让我们来看看在Python中轻松复制Numpy数组的不同方法。
方法1:使用np.copy()函数
第一种方法是使用np.copy()函数。
语法
numpy.copy(a, order='K', subok=False)
这个函数将返回给定对象的数组的副本
# import Numpy package
import numpy as np
# Create a numpy array using np.array()
org_array = np.array([1,22,66,99,100,101])
print("Original array: ")
# print the Numpy array
print(org_array)
# Now copy the org_array to copy_array by using np.copy() function
copy_array = np.copy(org_array)
print("\nCopied array: ")
# print the copied Numpy array
print(copy_array)
输出
Original array:
[ 1 22 66 99 100 101]
Copied array:
[ 1 22 66 99 100 101]
方法2:使用np.empty_like()函数
这个函数将返回一个与给定数组特征相同的新数组。
语法:
numpy.empty_like(a, dtype = None, order = ‘K’, subok = True)
让我们看一下下面的例子。
#import necessary packages
import numpy as np
# Create a numpy array using np.array()
ary = np.array([23,45,66,109,88,117])
print("Original array: ")
# print the Numpy array
print(ary)
# Create an empty Numpy array similar to the previous array
copy_ary = np.empty_like(ary)
# Assign previous array to copy
copy_ary[:] = ary
print("\nCopy of the given array: ")
# print the copied array
print(copy_ary)
输出:
Original array:
[ 23 45 66 109 88 117]
Copy of the given array:
[ 23 45 66 109 88 117]
方法3:使用赋值运算符
让我们使用赋值运算符来复制一个numpy数组。这是一个更简单的方法,不需要使用任何额外的方法!
# import Numpy package
import numpy as np
# Create a 2-D Numpy array using np.array()
org_array = np.array([[66, 22, 31],
[49, 78, 66]])
# Copy org_array to copy_array use Assignment operator
copy_array = org_array
# modify org_array
org_array[1, 1] = 1
# check if copy_array has remained the same
# print original array
print('Original Array: \n', org_array)
# print copied array
print('\nCopied Array: \n', copy_array)
输出
Original Array:
[[66 22 31]
[49 1 66]]
Copied Array:
[[66 22 31]
[49 1 66]]
因此,在这个方法中,新数组只是引用了原始数组。
总结
在这篇文章中,我们讨论了将一个numpy数组复制到另一个数组的三种常见方法。可能还有其他的方法和黑客,但这三种方法应该可以帮助你轻松地处理数组复制的问题