gpt4 book ai didi

python - numpy 广播 bool 索引

转载 作者:太空宇宙 更新时间:2023-11-03 21:47:47 29 4
gpt4 key购买 nike

如何使用 numpy 广播重写这个 python 循环?

>>> values.shape
(50000,)
>>> tests.shape # booleans
(200, 50000)

>>> extracted = values[tests]
# FAILES

>>> extracted = values[test] for test in tests]
>>> extracted.shape
(200,)
>>> extracted[0].shape
(33,)
>>> extracted[1].shape
(468,)

花式/ bool 索引在这里不能像往常一样工作。

最佳答案

这样怎么样?如果您只想快速获取每行的大小。

>>> values.shape
(50000,)
>>> tests.shape # booleans
(200, 50000)

>>> extracted = np.prod((tests,values))
>>> extracted.shape
(200,50000)
>>> rows, cols = extracted.nonzero()
>>> cols[rows==0].shape
(33,)
>>> cols[rows==1].shape
(468,)

关于python - numpy 广播 bool 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52354593/

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