df.drop_duplicates() 详解,df.drop()
删除含有指定元素的行或列,或删除指定行,列
用法: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
官方清爽版:

浙公网安备 33010602011771号