gpt4 book ai didi

python - 基于另一个数组的 ndarray 的子集

转载 作者:行者123 更新时间:2023-11-28 22:52:25 25 4
gpt4 key购买 nike

我有一个整数数组,每个整数需要按 4 个进行分组。我还想根据另一个标准选择它们,start < t < stop .我试过了

data[group].reshape((-1,4))[start < t < stop]

但这提示 start < t < stop因为那是硬编码语法。我能以某种方式将 start < t 中的两个数组相交吗?和 t < stop

最佳答案

array 的 bool 索引的正确方法应该是这样的:

>>> import numpy as np
>>> a=np.random.randint(0,20,size=24)
>>> b=np.arange(24)
>>> b[(8<a)&(a<15)] #rather than 8<a<15
array([ 3, 5, 6, 11, 13, 16, 17, 18, 20, 21, 22, 23])

但是你可能无法将结果数组reshape成(-1,4)的形状,巧合的是这里的结果数组包含3*4个元素。

编辑,现在我更了解您的操作了。你总是先 reshape data[group],对吧?:

>>> b=np.arange(96)
>>> b.reshape((-1,4))[(8<a)&(a<15)]
array([[12, 13, 14, 15],
[20, 21, 22, 23],
[24, 25, 26, 27],
[44, 45, 46, 47],
[52, 53, 54, 55],
[64, 65, 66, 67],
[68, 69, 70, 71],
[72, 73, 74, 75],
[80, 81, 82, 83],
[84, 85, 86, 87],
[88, 89, 90, 91],
[92, 93, 94, 95]])

关于python - 基于另一个数组的 ndarray 的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20437031/

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