我有一個陣列,其中每個元素都是一組亂數的平均值。我希望能夠洗掉此陣列中的重復值。我該怎么做呢?
到目前為止,我已經嘗試過:
for i in range(len(array)):
for j in array:
if array[i] == j:
然后進行一些操作以從陣列中洗掉元素。但是,這只會洗掉每個重復元素的每個實體。
uj5u.com熱心網友回復:
您可以嘗試創建一個集合的陣列:
deduplicated_array = list(set(array))
uj5u.com熱心網友回復:
如果您不關心元素的順序,請使用以下
deduplicated = list(set(array))
uj5u.com熱心網友回復:
你可以簡單地使用 np.unique():
unique_values = np.unique(array)
uj5u.com熱心網友回復:
您可能想研究使用 python set:)
代碼示例:
# set cannot have duplicates
# Output: {1, 2, 3, 4}
my_set = {1, 2, 3, 4, 3, 2}
print(my_set)
# we can make set from a list: what you want
# Output: {1, 2, 3}
my_set = set([1, 2, 3, 2])
print(my_set)
然后你可以使用removeor discard(如果你不想在洗掉不存在的專案時出錯):
my_set = {1, 3, 4, 5, 6}
print(my_set)
# discard an element
# Output: {1, 3, 5, 6}
my_set.discard(4)
print(my_set)
# remove an element
# Output: {1, 3, 5}
my_set.remove(6)
print(my_set)
# discard an element
# not present in my_set
# Output: {1, 3, 5}
my_set.discard(2)
print(my_set)
# remove an element
# not present in my_set
# you will get an error.
# Output: KeyError
my_set.remove(2)
如果您更喜歡使用串列,那么您可以使用以下list函式轉換回串列:
my_list = list(my_set)
Docs: https://python-reference.readthedocs.io/en/latest/docs/sets/
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/446696.html
上一篇:在資料幀上回圈和使用if陳述句
下一篇:從陣列PHP列印回圈的用戶輸入
