Duplicated函數(shù)功能:查找并顯示數(shù)據(jù)表中的重復值
創(chuàng)新互聯(lián)建站專注于三江侗企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),商城開發(fā)。三江侗網(wǎng)站建設公司,為三江侗等地區(qū)提供建站服務。全流程按需定制網(wǎng)站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務
這里需要注意的是:
drop_duplicates函數(shù)功能是:刪除數(shù)據(jù)表中的重復值,判斷標準和邏輯與duplicated函數(shù)一樣
這個判斷題的答案是對的。
在Python中,函數(shù)是可以被重復調用的。函數(shù)是一種封裝的代碼塊,可以被多次使用。你可以在你的代碼中多次調用同一個函數(shù),只需要在代碼中寫出函數(shù)的名字并提供必要的參數(shù)即可。
例如,假設你有一個函數(shù)"greet()",它打印一個問候語,你可以這樣調用它:
def greet(name):
print("Hello, " + name + "!")
greet("Alice") # Output: "Hello, Alice!"
greet("Bob") # Output: "Hello, Bob!"
總的來說,函數(shù)是Python中一個很有用的工具,它可以幫助你封裝代碼,并使你的代碼更加可重復使用。
前兩天處理數(shù)據(jù)的時候,需要得到兩個數(shù)據(jù)的交集數(shù)據(jù),所以要去除數(shù)據(jù)中非重復部分,只保留數(shù)據(jù)中的重復部分。
?? 網(wǎng)上看了一下大家的教程,大部分都是教去除重復行,很少有說到僅保留重復行的。所以在這里用drop_duplicates這個去重函數(shù)來實現(xiàn)這個功能。
drop_duplicates函數(shù)介紹 :
data.drop_duplicates(subset=[‘A’,‘B’],keep=‘first’,inplace=True)
#subset對應的值是列名,表示只考慮這兩列,將這兩列對應值相同的行進行去重。
默認值為subset=None表示考慮所有列。
keep='first’表示保留第一次出現(xiàn)的重復行,是默認值。
keep另外兩個取值為"last"和False,分別表示保留最后一次出現(xiàn)的重復行和去除所有重復行。
inplace=True表示直接在原來的DataFrame上刪除重復項,而默認值False表示生成一個副本。
要用函數(shù)取得數(shù)據(jù)集data中的重復列,分三個步驟 :
(提前導入pandas模塊)
data0_1 = data.drop_duplicates() #保留第一個重復行
data0_2 = data.drop_duplicates(keep=False) #去除所有重復行
data0_3=pd.concat([data0_1,data0_2]).drop_duplicates(keep=False)
#合并起來再去重,只剩下真的重復行。
舉例:data中wangwu行和tony行重復,需要把它們兩行取出。
第一步:#保留第一個重復行
第二步:#去除所有重復行
第三步:#合并起來再去重
通過以上步驟實現(xiàn)取出數(shù)據(jù)中的重復行。
代碼如下:
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))
運行結果:
擴展資料
python對列表去重的幾種方式:
1、直觀方法,先建立一個新的空列表,通過遍歷原來的列表,再利用邏輯關系not in 來去重??偨Y:這樣可以做出來,但是過程不夠簡單。但是此方法保證了列表的順序性。
2、利用set的自動去重功能,將列表轉化為集合再轉化為列表,利用集合的自動去重功能。簡單快速。缺點是:使用set方法無法保證去重后的順序。
參考資料:python官網(wǎng)-Doc語法文檔