2024-09-26 22:11:31 发布
网友
我正在寻找一个现有的numpy数组,并从现有数组创建一个新的数组,但是在开始和结束时从现有数组中的值创建一个新数组?在
例如:
arr = np.array([1,2,3,4,5,6,7,8,9,10]) def split(array): # I am only interested in 4 thru 8 in original array return new_array >>>new_array >>> array([4,5,6,7,8])
您需要对数组进行切片和复制。首先,@AniMenon提到的切片可以通过殖民索引来实现。在
接下来,您可以选择使用builtin.copy()或导入copy并使用复制。复制(). 在
不管怎样,这都是避免以后意外互连的重要步骤。在
只要这样做:
arr1=arr[x:y]
在哪里
x->开始索引
y->;结束索引
示例:
在上面的例子中,我们使用赋值,Python中的赋值语句不复制对象,它们在目标和对象之间创建绑定。在
您可以使用.copy()来做一个浅拷贝。
.copy()
一个浅拷贝构造一个新的复合对象,然后(尽可能地)在其中插入对原始对象的引用。在
即
>>> arr1=arr[3:8].copy() >>> arr1 array([4, 5, 6, 7, 8])
您可以使用deepcopy()进行深度复制。
deepcopy()
一个深拷贝构造一个新的复合对象,然后递归地将在原始对象中找到的对象的副本插入其中。在
>>> arr2 = deepcopy(arr[3:8]) >>> lst2 array([4, 5, 6, 7, 8])
进一步参考:
copy — Shallow and deep copy operations
Shallow and Deep Copy
您需要对数组进行切片和复制。首先,@AniMenon提到的切片可以通过殖民索引来实现。在
接下来,您可以选择使用builtin.copy()或导入copy并使用复制。复制(). 在
不管怎样,这都是避免以后意外互连的重要步骤。在
只要这样做:
在哪里
x->开始索引
y->;结束索引
示例:
^{pr2}$在上面的例子中,我们使用赋值,Python中的赋值语句不复制对象,它们在目标和对象之间创建绑定。在
您可以使用
.copy()
来做一个浅拷贝。一个浅拷贝构造一个新的复合对象,然后(尽可能地)在其中插入对原始对象的引用。在
即
您可以使用
deepcopy()
进行深度复制。一个深拷贝构造一个新的复合对象,然后递归地将在原始对象中找到的对象的副本插入其中。在
即
进一步参考:
copy — Shallow and deep copy operations
Shallow and Deep Copy
相关问题 更多 >
编程相关推荐