gpt4 book ai didi

python - 如何从现有的 Numpy 数组创建 Numpy 数组

转载 作者:太空宇宙 更新时间:2023-11-04 05:31:21 25 4
gpt4 key购买 nike

我正在寻找一个现有的 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])

最佳答案

只需这样做:

arr1=arr[x:y]

在哪里,

x -> 起始索引

y -> 结束索引

示例:

>>> import numpy as np
>>> arr = np.array([1,2,3,4,5,6,7,8,9,10])
>>> arr
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>> arr1=arr[3:8]
>>> arr1
array([4, 5, 6, 7, 8])

在上面的例子中,我们使用了赋值,Python 中的赋值语句不会复制对象,它们会在目标和对象之间创建绑定(bind)。

您可以使用 .copy() 进行浅拷贝。

浅拷贝构造一个新的复合对象,然后(在可能的范围内)向其中插入对在原始对象中找到的对象的引用。

>>> arr1=arr[3:8].copy()
>>> arr1
array([4, 5, 6, 7, 8])

您可以使用 deepcopy() 进行深度复制。

深拷贝构造一个新的复合对象,然后递归地将在原始对象中找到的对象的副本插入其中。

>>> arr2 = deepcopy(arr[3:8])
>>> lst2
array([4, 5, 6, 7, 8])

进一步引用:

copy — Shallow and deep copy operations

Shallow and Deep Copy

关于python - 如何从现有的 Numpy 数组创建 Numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37085170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com