前兩天處理數(shù)據(jù)的時候,需要得到兩個數(shù)據(jù)的交集數(shù)據(jù),所以要去除數(shù)據(jù)中非重復(fù)部分,只保留數(shù)據(jù)中的重復(fù)部分。

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、渝中ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的渝中網(wǎng)站制作公司
?? 網(wǎng)上看了一下大家的教程,大部分都是教去除重復(fù)行,很少有說到僅保留重復(fù)行的。所以在這里用drop_duplicates這個去重函數(shù)來實現(xiàn)這個功能。
drop_duplicates函數(shù)介紹 :
data.drop_duplicates(subset=[‘A’,‘B’],keep=‘first’,inplace=True)
#subset對應(yīng)的值是列名,表示只考慮這兩列,將這兩列對應(yīng)值相同的行進行去重。
默認值為subset=None表示考慮所有列。
keep='first’表示保留第一次出現(xiàn)的重復(fù)行,是默認值。
keep另外兩個取值為"last"和False,分別表示保留最后一次出現(xiàn)的重復(fù)行和去除所有重復(fù)行。
inplace=True表示直接在原來的DataFrame上刪除重復(fù)項,而默認值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ù)行
第三步:#合并起來再去重
通過以上步驟實現(xiàn)取出數(shù)據(jù)中的重復(fù)行。
感覺是你的函數(shù)使用了一個全局的對象(如list)
然后每次調(diào)用函數(shù)都會給這個對象添加一個值,比如(list.append())
這樣就會造成每次執(zhí)行都會添加一個值
因為python中對象的作用域是全局的,你在函數(shù)中改變就會改變這個對象,而不是像其它語言中函數(shù)內(nèi)并不影響函數(shù)外面的對象
解決重復(fù)調(diào)用。
反復(fù)執(zhí)行Python,Python如何使程序重復(fù)運行,Python的周期基本1主題=(\u201Clinux系統(tǒng)\u201D、\u201CMysql數(shù)據(jù)庫\u201D,\u201CPython語言\u201D)#定義一個元組,三個元素代表三個課程2=0#和定義變量num作為初始分數(shù)3我的主題:#元組中的每個元素分配給我,總共三次4'Please進入打印測試分數(shù)%s的%我#提示輸入分數(shù),使用格式字符串函數(shù),表示分數(shù)的名字我每次獲得的元素名稱,5分=%s意味著字符串輸入()#接收分數(shù)由用戶輸入,并將其分配給score6總和+=分數(shù)#把分數(shù)分配金額相當于金額=和+score7avg=和\/len(科目)#后跳出的for循環(huán),計算平均值。
Python由荷蘭數(shù)學(xué)和計算機科學(xué)研究學(xué)會的吉多·范羅蘇姆于1990年代初設(shè)計,作為一門叫做ABC語言的替代品Python提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還能簡單有效地面向?qū)ο缶幊獭?/p>
Duplicated函數(shù)功能:查找并顯示數(shù)據(jù)表中的重復(fù)值
這里需要注意的是:
drop_duplicates函數(shù)功能是:刪除數(shù)據(jù)表中的重復(fù)值,判斷標準和邏輯與duplicated函數(shù)一樣
函數(shù)。在python編程中我們通常把重復(fù)使用的程序模塊定義在Python編程中,我們通常把重復(fù)使用的程序模塊定義成函數(shù),之后用函數(shù)名就可以代替整個程序模塊(即調(diào)用函數(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))
運行結(jié)果:
擴展資料
python對列表去重的幾種方式:
1、直觀方法,先建立一個新的空列表,通過遍歷原來的列表,再利用邏輯關(guān)系not in 來去重。總結(jié):這樣可以做出來,但是過程不夠簡單。但是此方法保證了列表的順序性。
2、利用set的自動去重功能,將列表轉(zhuǎn)化為集合再轉(zhuǎn)化為列表,利用集合的自動去重功能。簡單快速。缺點是:使用set方法無法保證去重后的順序。
參考資料:python官網(wǎng)-Doc語法文檔
網(wǎng)站名稱:python函數(shù)重復(fù) python函數(shù)重復(fù)運行
網(wǎng)址分享:http://chinadenli.net/article36/hjissg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、移動網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)