Python中的unique函數(shù)可以幫助我們?nèi)コ斜碇械闹貜?fù)元素,讓我們更加便捷地處理數(shù)據(jù)。使用方法非常簡單,只需要導(dǎo)入numpy庫,然后調(diào)用numpy.unique()函數(shù)即可。
具體來說,我們可以這樣使用unique函數(shù):
_x000D_`python
_x000D_import numpy as np
_x000D_arr = np.array([1, 2, 2, 3, 3, 4, 5, 5])
_x000D_unique_arr = np.unique(arr)
_x000D_print(unique_arr)
_x000D_ _x000D_運行結(jié)果為:
_x000D_ _x000D_[1 2 3 4 5]
_x000D_ _x000D_可以看到,unique函數(shù)去除了原數(shù)組中的重復(fù)元素,返回了一個新的數(shù)組。
_x000D_除了可以處理一維數(shù)組之外,unique函數(shù)還可以處理多維數(shù)組。比如,我們可以這樣使用:
_x000D_`python
_x000D_import numpy as np
_x000D_arr = np.array([[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]])
_x000D_unique_arr = np.unique(arr, axis=0)
_x000D_print(unique_arr)
_x000D_ _x000D_運行結(jié)果為:
_x000D_ _x000D_[[1 2]
_x000D_[2 3]
_x000D_[3 4]
_x000D_[4 5]
_x000D_[5 6]
_x000D_[6 7]]
_x000D_ _x000D_可以看到,unique函數(shù)按照每行的元素去重,返回了一個新的數(shù)組。
_x000D_擴展問答:
_x000D_Q: unique函數(shù)只能處理numpy數(shù)組嗎?
_x000D_A: 是的,unique函數(shù)只能處理numpy數(shù)組。如果要處理普通的Python列表,可以先將其轉(zhuǎn)換為numpy數(shù)組,再調(diào)用unique函數(shù)。
_x000D_Q: unique函數(shù)去重后的結(jié)果是否有序?
_x000D_A: 是的,unique函數(shù)去重后的結(jié)果是有序的。如果原數(shù)組是有序的,去重后的結(jié)果也是有序的。
_x000D_Q: unique函數(shù)是否會修改原數(shù)組?
_x000D_A: 不會,unique函數(shù)不會修改原數(shù)組,而是返回一個新的數(shù)組。
_x000D_Q: unique函數(shù)能否處理字符串?dāng)?shù)組?
_x000D_A: 是的,unique函數(shù)可以處理字符串?dāng)?shù)組。對于字符串?dāng)?shù)組,unique函數(shù)會按照字典序去重。
_x000D_Q: unique函數(shù)能否處理NaN值?
_x000D_A: 是的,unique函數(shù)可以處理NaN值。對于包含NaN值的數(shù)組,unique函數(shù)會將NaN值視為不同的元素,進行去重操作。
_x000D_