Python中的unique函數(shù)可以幫助我們?nèi)コ斜碇械闹貜?fù)元素,讓我們更加便捷地處理數(shù)據(jù)。使用方法非常簡(jiǎn)單,只需要導(dǎo)入numpy庫(kù),然后調(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_運(yùn)行結(jié)果為:
_x000D_ _x000D_[1 2 3 4 5]
_x000D_ _x000D_可以看到,unique函數(shù)去除了原數(shù)組中的重復(fù)元素,返回了一個(gè)新的數(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_運(yùn)行結(jié)果為:
_x000D_ _x000D_[[1 2]
_x000D_[2 3]
_x000D_[3 4]
_x000D_[4 5]
_x000D_[5 6]
_x000D_[6 7]]
_x000D_ _x000D_可以看到,unique函數(shù)按照每行的元素去重,返回了一個(gè)新的數(shù)組。
_x000D_擴(kuò)展問答:
_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ù)是否會(huì)修改原數(shù)組?
_x000D_A: 不會(huì),unique函數(shù)不會(huì)修改原數(shù)組,而是返回一個(gè)新的數(shù)組。
_x000D_Q: unique函數(shù)能否處理字符串?dāng)?shù)組?
_x000D_A: 是的,unique函數(shù)可以處理字符串?dāng)?shù)組。對(duì)于字符串?dāng)?shù)組,unique函數(shù)會(huì)按照字典序去重。
_x000D_Q: unique函數(shù)能否處理NaN值?
_x000D_A: 是的,unique函數(shù)可以處理NaN值。對(duì)于包含NaN值的數(shù)組,unique函數(shù)會(huì)將NaN值視為不同的元素,進(jìn)行去重操作。
_x000D_