詳解pandas使用drop_duplicates去除DataFrame重復項參數(shù)
Pandas之drop_duplicates:去除重復項
方法
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)
參數(shù)
這個drop_duplicate方法是對DataFrame格式的數(shù)據(jù),去除特定列下面的重復行。返回DataFrame格式的數(shù)據(jù)。
- subset : column label or sequence of labels, optional 用來指定特定的列,默認所有列
- keep : {‘first', ‘last', False}, default ‘first' 刪除重復項并保留第一次出現(xiàn)的項
- inplace : boolean, default False 是直接在原來數(shù)據(jù)上修改還是保留一個副本
DataFrame中存在重復的行或者幾行中某幾列的值重復,這時候需要去掉重復行,示例如下:
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表示生成一個副本。
將副本賦值給dataframe:
data=data.drop_duplicates(subset=None,keep='first',inplace=False)
這一行代碼與文章開頭提到的那行代碼效果等效,但是如果在該DataFrame上新增一列:
data['extra']=test_data['item_price_level']
就會報如下錯誤:
SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.
所以如果想對DataFrame去重,最好采用開頭提到的那行代碼。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
python安裝包出現(xiàn)Retrying?(Retry(total=4,?connect=None,?read=No
這篇文章主要給大家介紹了關于python安裝包出現(xiàn)Retrying?(Retry(total=4,?connect=None,?read=None,?redirect=None,?status=None))問題的解決方法,需要的朋友可以參考下2022-09-09

