gpt4 book ai didi

python - 二维数组与一维数组比较返回二维数组

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

我正在尝试按元素比较一维数组与二维数组,并在不使用 for 循环的情况下以二维数组形式返回满足条件的二维数组元素。最好使用 numpy 或更快的方法。

a = range(1,10)
Tna = np.random.choice(a, size=[250,10,1000], replace=True)
sum_Ta = np.sum(Tna, axis = 1)
percent = np.percentile(sum_Ta, 5, axis =0)

现在我想得到一个包含 sum_Ta 元素的二维数组,如果元素小于百分比的话。这样 sum_Ta 的 250 个元素与 percent 的 1 个元素进行 1000 次比较。本来我可以的,ES = sum_Ta[sum_Ta < percent[:,None]] ,但它只给我一个一维数组,而不是一个二维数组。

最佳答案

假设您的意思是对于每一行,如果该行的元素小于与其列关联的百分比,您希望包含该行的元素。

尝试以下操作:

mask = sum_Ta < (percent * np.ones((250,1)))
ES = np.zeros((250, 1000))
ES[mask] = sum_Ta[mask]

关于python - 二维数组与一维数组比较返回二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48998086/

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