gpt4 book ai didi

Python:上下对齐 bool numpy 数组的索引

转载 作者:行者123 更新时间:2023-12-01 02:55:01 26 4
gpt4 key购买 nike

如何上下对齐 numpy bool 数组。通过对齐,我的意思是获取 True 值,并移动它们,使它们要么是顶部的第一个值(如果它们向上对齐),要么是底部的第一个值。 (如果它们向下合理)

    [[False  True  True  True  True   True]
[False False True True False True]
[False True False True False False
[True True True True False True]]

因此,如果我向下调整上面显示的 bool 数组的 True 值,它看起来会像:

[[False  False False True  False False]
[False True True True False True]
[False True True True False True]
[True True True True True True]]

最佳答案

简单地沿着每一列对其进行排序,这会下推 True 值,同时将 False 值向上调整版本。对于向上对齐的版本,请翻转已排序的版本。

运行示例来展示实现情况 -

In [216]: mask
Out[216]:
array([[False, True, True, True, True, True],
[False, False, True, True, False, True],
[False, True, False, True, False, False],
[ True, True, True, True, False, True]], dtype=bool)

In [217]: np.sort(mask,0) # Down justified
Out[217]:
array([[False, False, False, True, False, False],
[False, True, True, True, False, True],
[False, True, True, True, False, True],
[ True, True, True, True, True, True]], dtype=bool)

In [218]: np.sort(mask,0)[::-1] # Up justified
Out[218]:
array([[ True, True, True, True, True, True],
[False, True, True, True, False, True],
[False, True, True, True, False, True],
[False, False, False, True, False, False]], dtype=bool)

关于Python:上下对齐 bool numpy 数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44295465/

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