pandas重复行删除操作df.drop_duplicates和df.duplicated的区别

概念

df.duplicated()

使用df.cuplicated()来查看重复数据,返回True,False,数据类型是bool.

也可以指定某一列是否有重复值df.cuplidated(‘colname’),不指定则默认为第一列。

df.dropduplicates(’col‘,keep=‘first’,inplace=False)

用来删除重复行。

实例

读取数据

# %% 提取数据 从sqlite
import pandas as pd
from sqlalchemy import create_engine
'''创建sqlite3连接'''
eg = create_engine('sqlite:///I:/jianguoyun/Udoc/WorkDb/dataset2022.db')  #创建数据库连接
# 读取数据库文件
q_store = """
select *  from pj_store20220525
"""
# 读取表
cols= ['货号','品类','节庆','库位','合格','换包装','错码','维修','总数量' ]
df = pd.read_sql(q_store,eg)[cols]

计算重复项

# df.duplicated 计算重复项
cond = df.duplicated('货号') # 查看货号相同的项 df.duplicated返回的是布尔值
def_line = df[cond]
def_line

pandas重复行删除操作df.drop_duplicates和df.duplicated的区别_第1张图片

计算有多少个重复行

#有多少个重复行
dep_data = df.duplicated('货号').sum() 
dep_data

用df.drop_duplicates提取夏季品类

# 用df.drop_duplicates提取夏季品类
df_category = df.query('节庆=="夏季"').drop_duplicates('品类',keep='last',inplace=False) 
df_category['品类'].sort_values() 

pandas重复行删除操作df.drop_duplicates和df.duplicated的区别_第2张图片

参数:

  • keep ,保留最后last还是第一行first,
  • inplace:是否替换原列表,false:不替换,True,替换。

 到此这篇关于pandas重复行删除操作df.drop_duplicates和df.duplicated的区别的文章就介绍到这了,更多相关pandas df.drop_duplicates df.duplicated内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(pandas重复行删除操作df.drop_duplicates和df.duplicated的区别)