使用列表的count方法,因?yàn)閏ount方法可以做對象內(nèi)的元素進(jìn)行出現(xiàn)次數(shù)疊加計(jì)算
在福建等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,外貿(mào)營銷網(wǎng)站建設(shè),福建網(wǎng)站建設(shè)費(fèi)用合理。
list1=[1,2,3,4,4,5,6,7]list1.count(1)??#結(jié)果為1list1.count(4)??#結(jié)果為2for?i?in?list1:????if?list1.count(i)=2:????????print('該元素%s重復(fù)'%i)#結(jié)果:該元素4重復(fù)該元素4重復(fù)????#因?yàn)榈藘纱?所以有兩次輸出,功能是實(shí)現(xiàn)了,但是卻打印了兩次,有點(diǎn)不理想!? ?
前兩天處理數(shù)據(jù)的時候,需要得到兩個數(shù)據(jù)的交集數(shù)據(jù),所以要去除數(shù)據(jù)中非重復(fù)部分,只保留數(shù)據(jù)中的重復(fù)部分。
?? 網(wǎng)上看了一下大家的教程,大部分都是教去除重復(fù)行,很少有說到僅保留重復(fù)行的。所以在這里用drop_duplicates這個去重函數(shù)來實(shí)現(xiàn)這個功能。
drop_duplicates函數(shù)介紹 :
data.drop_duplicates(subset=[‘A’,‘B’],keep=‘first’,inplace=True)
#subset對應(yīng)的值是列名,表示只考慮這兩列,將這兩列對應(yīng)值相同的行進(jìn)行去重。
默認(rèn)值為subset=None表示考慮所有列。
keep='first’表示保留第一次出現(xiàn)的重復(fù)行,是默認(rèn)值。
keep另外兩個取值為"last"和False,分別表示保留最后一次出現(xiàn)的重復(fù)行和去除所有重復(fù)行。
inplace=True表示直接在原來的DataFrame上刪除重復(fù)項(xiàng),而默認(rèn)值False表示生成一個副本。
要用函數(shù)取得數(shù)據(jù)集data中的重復(fù)列,分三個步驟 :
(提前導(dǎo)入pandas模塊)
data0_1 = data.drop_duplicates() #保留第一個重復(fù)行
data0_2 = data.drop_duplicates(keep=False) #去除所有重復(fù)行
data0_3=pd.concat([data0_1,data0_2]).drop_duplicates(keep=False)
#合并起來再去重,只剩下真的重復(fù)行。
舉例:data中wangwu行和tony行重復(fù),需要把它們兩行取出。
第一步:#保留第一個重復(fù)行
第二步:#去除所有重復(fù)行
第三步:#合并起來再去重
通過以上步驟實(shí)現(xiàn)取出數(shù)據(jù)中的重復(fù)行。
首先可以利用set()函數(shù)對列表進(jìn)行去重操作,然后利用len()函數(shù)比較去重前后對象的長度,若長度沒有變化,則原列表沒有重復(fù)元素
Duplicated函數(shù)功能:查找并顯示數(shù)據(jù)表中的重復(fù)值
這里需要注意的是:
drop_duplicates函數(shù)功能是:刪除數(shù)據(jù)表中的重復(fù)值,判斷標(biāo)準(zhǔn)和邏輯與duplicated函數(shù)一樣
代碼如下:
def func1(num_list):
if len(num_list) != len(set(num_list)):
return True
else:
return False
if __name__ == '__main__':
num_list = [[1, 2, 3, 4], [6, 7, 8], [4, 5, 6, 6, 6]]
for one_list in num_list:
print(func1(one_list))
運(yùn)行結(jié)果:
擴(kuò)展資料
python對列表去重的幾種方式:
1、直觀方法,先建立一個新的空列表,通過遍歷原來的列表,再利用邏輯關(guān)系not in 來去重??偨Y(jié):這樣可以做出來,但是過程不夠簡單。但是此方法保證了列表的順序性。
2、利用set的自動去重功能,將列表轉(zhuǎn)化為集合再轉(zhuǎn)化為列表,利用集合的自動去重功能。簡單快速。缺點(diǎn)是:使用set方法無法保證去重后的順序。
參考資料:python官網(wǎng)-Doc語法文檔