gpt4 book ai didi

python - 如何快速抽取一个 numpy 数组?

转载 作者:行者123 更新时间:2023-12-04 17:35:55 25 4
gpt4 key购买 nike

我需要一个函数来抽取,删除 n 中的 m,a numpy大批。例如删除 2 中的 1 或删除 3 中的 2。所以数组是:[7, 4, 3, 5, 9, 2, 4, 1, 6, 8]
按 1:2 抽取将变为:[7, 3, 9, 4, 6]
我想知道是否有可能将数组从 1d 数组 N long reshape 为 2d 和 N/2, 2 长的数组,然后删除额外的维度?

理想情况下,我不想只转储抽取的样本,而是想找到每组(在本示例中)值的最大值。例如:[7, 5, 9, 4, 8]
有没有办法在每个集合中找到最大值而不是仅仅删除它?

额外的挑战是这里的重点是绘制值。

抽取是必需的,因为绘制每个值花费的时间太长,这意味着我必须在绘制之前减小数组的大小,但我需要快速完成此操作。所以forwhile循环会花费太长时间。

最佳答案

一种快速而肮脏的方法是

k,N = 3,18
a = np.random.randint(0,10,N) #[9, 6, 6, 6, 8, 4, 1, 4, 8, 1, 2, 6, 1, 8, 9, 8, 2, 8]
a = a[:-k:k] #[9, 6, 1, 1, 1]
无论 k 是否划分为 N,这都应该有效。

关于python - 如何快速抽取一个 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56585620/

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