首页 > 其他分享 >df.drop_duplicates() 详解

df.drop_duplicates() 详解

时间:2022-09-20 23:57:04浏览次数:94  
标签:Indomie cup df drop duplicates Yum

 

删除含有指定元素的行或列,或删除指定行,列

用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)
参数说明:
labels 就是要删除的行列的名字,用列表给定
axis 默认为0,指删除行,因此删除columns时要指定axis=1;
index 直接指定要删除的行
columns 直接指定要删除的列
inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe;
inplace=True,则会直接在原数据上进行删除操作,删除后无法返回。
因此,删除行列有两种方式:
1)labels=None,axis=0 的组合
2)index或columns直接指定要删除的行或列

 

"""去重的两种方法:duplicated()和drop_duplicates();
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)"""

"""
参数::
subset是用来指定特定的列,默认为所有列
keep:
当keep='first'时,就是保留第一次出现的重复行,其余删除
当keep='last'时,就是保留最后一次出现的重复行,其余删除
当keep=False时,就是删除所有重复行
inplace是指是否直接在原数据上进行修改,默认为否
"""
import pandas as pd

df = pd.DataFrame({
    'brand': ['Yum Yum', 'Yum Yum', 'Indomie', 'Indomie', 'Indomie'],
    'style': ['cup', 'cup', 'cup', 'pack', 'pack'],
    'rating': [4, 4, 3.5, 15, 5]})
print(f'原始数据:',df,sep="\n")
print(f'df.drop_duplicates()',df.drop_duplicates(),sep="\n")
print(f"删除在brand列中重复的数据行:",df.drop_duplicates(subset='brand'),sep="\n")
print(f"重复行保留第一次出现的行,删除其他行:",df.drop_duplicates(keep="first"),sep="\n")

print(f"inplace 布尔值,指是否直接在原数据上进行修改,默认为False:内存中数据",df.drop_duplicates(inplace=False),sep="\n")
print(f"df.drop_duplicates(inplace=False):原始数据",df,sep="\n")
print(f"df.drop_duplicates(inplace=True):内存中数据",df.drop_duplicates(inplace=True),sep="\n")
print(f"df.drop_duplicates(inplace=True):原始数据",df,sep="\n")

  

原始数据:
     brand style  rating
0  Yum Yum   cup     4.0
1  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0
df.drop_duplicates()
     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0
删除在brand列中重复的数据行:
     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
重复行保留第一次出现的行,删除其他行:
     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0
inplace 布尔值,指是否直接在原数据上进行修改,默认为False:内存中数据
     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0
df.drop_duplicates(inplace=False):原始数据
     brand style  rating
0  Yum Yum   cup     4.0
1  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0
df.drop_duplicates(inplace=True):内存中数据
None
df.drop_duplicates(inplace=True):原始数据
     brand style  rating
0  Yum Yum   cup     4.0
2  Indomie   cup     3.5
3  Indomie  pack    15.0
4  Indomie  pack     5.0

  官方清爽版:

 

标签:Indomie,cup,df,drop,duplicates,Yum
From: https://www.cnblogs.com/Li-JT/p/16714119.html

相关文章