1dataframe刪除某一列的重復元素,默認只留下第一次出現的
inplace參數設置為true時直接在原數據上修改,為False時,生成副本.
注意所有函數中inplace一旦設置為True,此時后面不能再跟任何函數,因為它整體已經是None.想要再跟函數只能再寫一行.
且此時在前面也不能賦值,賦值也是None.因為設置為True時,整體是None,設置為False時,整體是一個引用,可以賦給其它變量.
a1 = pd.DataFrame({ 'a': [1, 1, 3, 2,], 'b': [1, 1, 6, 4,], 'c': [1, 1, 3, 9,] }) print(a1) a1.drop_duplicates(inplace=True) print(a1) # 這里inplace為假,整體實際上是一個引用,所以可以直接輸出. print(a1.drop_duplicates(['a','b'], keep='first',inplace=False)) # 注意這里因為inplace為真,直接在原數據上修改,直接輸出是空,因為它並不是一個引用,a1才是引用.
print(a1.drop_duplicates(['a','b'], keep='first',inplace=True)) # a b c # 0 1 1 1 # 1 1 1 1 # 2 3 6 3 # 3 2 4 9 # a b c # 0 1 1 1 # 2 3 6 3 # 3 2 4 9 # a b c # 0 1 1 1 # 2 3 6 3 # 3 2 4 9 # None
https://blog.csdn.net/qq_28811329/article/details/79962511
test_sample_quchong = test_sample.drop_duplicates(['ggid'])利用 data.drop_duplicates()#data中一行元素全部相同時才去除可檢查dataframe是否有重復的行
參考: https://www.cnblogs.com/mahailuo/p/8317178.html
參考: https://www.cnblogs.com/mahailuo/p/8317178.html
2 想要留下去掉的重復行,可以先刪除重復行后,保存索引,再刪除索引.

import pandas as pd import numpy as np import re df = pd.DataFrame({'a': [1,1,3,4,3], 'b': [1,1,3,4,3], 'c': [1,1,3,4,3]}) print('原始數據:\n',df) print('去掉重復行后:\n', df.drop_duplicates()) drop_index = df.drop_duplicates().index.tolist() print('去掉的重復行是:\n',df.drop(drop_index)) # 原始數據: # a b c # 0 1 1 1 # 1 1 1 1 # 2 3 3 3 # 3 4 4 4 # 4 3 3 3 # 去掉重復行后: # a b c # 0 1 1 1 # 2 3 3 3 # 3 4 4 4 # 去掉的重復行是: # a b c # 1 1 1 1 # 4 3 3 3