gpt4 book ai didi

python - 排除数组中不包含特定小数的元素

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:49 24 4
gpt4 key购买 nike

我有一个包含一位小数的数组。小数点只能是1、2、3(由用户设定,无需算法)。我想创建一个函数来排除数组中不包含所有三位小数的元素。

例如,当考虑以下数组并预期输出时:

a = np.array([1.1, 1.3, 1.2, 2.1, 2.2])
b = np.array([1.3, 1.2, 1.1, 7.3, 7.1, 8.1, 8.2, 8.3])

#desired output
a_usefull = [1.1, 1.3, 1.2]
b_usebull = [1.3, 1.2, 1.1, 8.1, 8.2, 8.3]
a 中的

元素 2.12.2 被排除在外,因为两者都缺少小数点 .3。元素 7.37.1 被排除在外,因为缺少小数点 .2。请注意,原始数组的顺序是导入的,因此例如 [1.3, 1.1, 1.2] 应该作为 [1.3, 1.1, 1.2]


另一个条件是例如 [1.1, 1.3, 2.1, 2.2, 1.2, 2.3] 的输出应该与它所看到的完全一样。所以例如它是 [1,1,2,1,2,2] 它不应该是 [1,1,1,2,2,2]。顺序不应改变。

我正在考虑将数组中的所有元素都放在底部并首先计算它们。但是,代码应该在函数中给出。有人可以帮助这个 while- 或 for 循环吗?

def remove(id):

return useful_elements

谢谢!

最佳答案

简单而简短

a = np.array([1.1, 1.2, 1.3, 2.1, 2.2])

def remove(id):
useful_elements=np.array([])
for x in np.unique(a.astype(int)):
if((x+.1 in a) and (x+.2 in a) and (x+.3 in a)):
useful_elements=np.append(useful_elements,(x+.1,x+.2,x+.3))

return useful_elements

关于python - 排除数组中不包含特定小数的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56524750/

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