Python去重excel表并合并重复项的指定列

news/2024/7/21 3:48:04 标签: excel, python
# 根据“客户名称”分组,然后对每一组数据进行处理
for _, group in df2[df2['客户名称'].notnull()].groupby(df2['客户名称'].str.lower()):

这行代码首先通过df2['客户名称'].notnull()条件筛选出不为空的行,然后使用groupby函数按照"客户名称"列进行分组。循环迭代每一个分组时,group变量表示当前分组的数据。

# 将重复行的"产品中文名称"合并到第一行内
    group["产品名字"] = group["产品名字"].apply(lambda x: x if isinstance(x, str) else "")
    group.loc[:, "产品名字"] = group["产品名字"].str.cat(sep=";")

将每个分组内的重复行的"产品名字"列合并到第一行内。首先,通过apply()函数和lambda表达式将"产品名字"列中的非字符串值(如NaN)替换为空字符串。然后,使用str.cat()函数将"产品名字"列中的多个值以分号分隔连接在一起,并赋值给第一行。

 # 去重
    df_unique = group.drop_duplicates(subset=["客户名称"], keep='first')
    df_duplicate = group.drop(df_unique.index)

对分组内的数据进行去重操作。使用drop_duplicates()函数可以去除"客户名称"列的重复行,保留第一次出现的行,并将结果赋值给df_unique变量。然后,从原始分组数据中删除df_unique变量中包含的行,得到重复的行,并将结果赋值给df_duplicate变量。

  # 将处理后的数据赋值回原始数据
    df2.loc[df_unique.index] = df_unique
    df2.drop(df_duplicate.index, inplace=True)

最后,通过使用loc属性和index将处理后的去重数据df_unique赋值回原始数据df2。同时,使用drop()函数删除原始数据中的重复行df_duplicate


http://www.niftyadmin.cn/n/5103047.html

相关文章

工业级开源facechain人物写真sd-webui插件使用方式

一、简介 facechain人物写真应用自8月11日开源了第一版证件照生成后。目前在github(https://github.com/modelscope/facechain)上已有近6K的star,论文链接:FaceChain: A Playground for Identity-Preserving Portrait Generation…

WPF实现签名拍照功能

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

【漏洞复现】Casdoor-任意文件读取

目录 【漏洞介绍】 【资产测绘Query】 【漏洞复现】 【漏洞介绍】 Casdoor系统static存在任意文件读取漏洞 【漏洞描述】 Casdoor是一个基于OAuth 2.0、OIDC、SAML 和 CAS 的,UI-first的身份和访问管理(IAM)/单点登录(SSO)平台。使用 Go 和react开发&#xff0…

你的DOT即将解锁,请注意以下事项

作者: David 还记得两年前Polkadot平行链卡槽拍卖质押吗? 参与平行链众贷,质押DOT两年,选择投票的项目方,获得相应token奖励。当年质押的DOT即将解锁,就在十月底,10月24日请注意。 第一批解锁…

LoogArch 指令集学习

1 SoC_Lite片上系统结构 mycpu和dram、confreg之间有一个“一分二”部件。这是因为在LoongArch指令系统架构下,所有I/O设备的寄存器都是采用memory mapped方式访问的。我们这里实现的confreg也不例外。Memory mapped的访问方式意味I/O设备中的寄存器各自都有一个唯一…

【Cadence】配置文件cdsinit和cdsenv的使用

文件功能 .cdsinit文件:主要负责一些加载项的设置,一些脚本工具及一些快捷键 .cdsenv文件:主要负责一些环境变量或者参数的设置 文件位置: (参照以下文件使用) Virtuoso配置文件“.cdsenv”文件介绍和使…

PHPExcel 字母列不够用,针对 AA、AB、AC ... ZZ 这样的列

在PHPExcel 导出功能中,如果字段超过26个字母时,会出现字母不够用A~Z后 AA~AZ来添加后续字段 php中,chr() 函数从指定 ASCII 值返回字符,可以自定义一个方法来返回对应的字母 // $num 列数 1,2,3,4,5,6,7...... function getCol…

【ARM裸机】ARM入门

1.ARM成长史 2.ARM的商业模式和生态系统 ARM只设计CPU,但是不生产CPU 3.为什么使用三星:S5PV210 4.各种版本号 0. ARM和Cortex Cortex就是ARM公司一个系列处理器的名称。比如英特尔旗下处理器有酷睿,奔腾,赛扬。ARM在最初的处理器…