python三行搞定Excel多行多列删除重复值

案例:在多行多列中提取员工名单

如下图所示,希望在多行多列的值班表中,提取出不重复的人员名单。

像案例一样数据较少的时候直接用Excel的公式合并列,或者一列一列地删除重复项也能得出结果,但如果数据有十几列几千行,Excel它就不乐意了,这个时候python的效率就体现了。

首先读取文件。

import pandas as pd

# 读取Excel文件,并将第一列设置为索引
df1 = pd.read_excel('data1.xlsx', index_col=0)

然后三行搞定。 

# 将DataFrame中的所有列堆叠成一列
df2 = df1.stack().reset_index(drop=True)

# 将堆叠后的Series对象转换为DataFrame,并命名列
df3 = pd.DataFrame(df2, columns=['员工名单'])

# 删除重复值
df_new = df3.drop_duplicates(subset='员工名单')

# 查看结果
df_new

还有需要就导出即可。

# 导出DataFrame到Excel文件,不包含索引列
df_new.to_excel('data1Result.xlsx', index=False)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值