前兩天處理數據的時候,需要得到兩個數據的交集數據,所以要去除數據中非重復部分,只保留數據中的重復部分。
我們提供的服務有:網站制作、成都網站建設、微信公眾號開發(fā)、網站優(yōu)化、網站認證、渝中ssl等。為上1000家企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的渝中網站制作公司
?? 網上看了一下大家的教程,大部分都是教去除重復行,很少有說到僅保留重復行的。所以在這里用drop_duplicates這個去重函數來實現(xiàn)這個功能。
drop_duplicates函數介紹 :
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表示生成一個副本。
要用函數取得數據集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)取出數據中的重復行。
感覺是你的函數使用了一個全局的對象(如list)
然后每次調用函數都會給這個對象添加一個值,比如(list.append())
這樣就會造成每次執(zhí)行都會添加一個值
因為python中對象的作用域是全局的,你在函數中改變就會改變這個對象,而不是像其它語言中函數內并不影響函數外面的對象
解決重復調用。
反復執(zhí)行Python,Python如何使程序重復運行,Python的周期基本1主題=(\u201Clinux系統(tǒng)\u201D、\u201CMysql數據庫\u201D,\u201CPython語言\u201D)#定義一個元組,三個元素代表三個課程2=0#和定義變量num作為初始分數3我的主題:#元組中的每個元素分配給我,總共三次4'Please進入打印測試分數%s的%我#提示輸入分數,使用格式字符串函數,表示分數的名字我每次獲得的元素名稱,5分=%s意味著字符串輸入()#接收分數由用戶輸入,并將其分配給score6總和+=分數#把分數分配金額相當于金額=和+score7avg=和\/len(科目)#后跳出的for循環(huán),計算平均值。
Python由荷蘭數學和計算機科學研究學會的吉多·范羅蘇姆于1990年代初設計,作為一門叫做ABC語言的替代品Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。
Duplicated函數功能:查找并顯示數據表中的重復值
這里需要注意的是:
drop_duplicates函數功能是:刪除數據表中的重復值,判斷標準和邏輯與duplicated函數一樣
函數。在python編程中我們通常把重復使用的程序模塊定義在Python編程中,我們通常把重復使用的程序模塊定義成函數,之后用函數名就可以代替整個程序模塊(即調用函數)。
代碼如下:
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 來去重。總結:這樣可以做出來,但是過程不夠簡單。但是此方法保證了列表的順序性。
2、利用set的自動去重功能,將列表轉化為集合再轉化為列表,利用集合的自動去重功能。簡單快速。缺點是:使用set方法無法保證去重后的順序。
參考資料:python官網-Doc語法文檔