技术标签: python实现去重合并表格
用pandas和openpyxl 实现对2个或多个excel的合并,去重;具体代码与解释如下:
#用pandas实现vlookup类似的功能来实现两个表的合并,注意:要有一个对应的列单才可以,比如两个表里都有学号;
import pandas as pd
import openpyxl # pip install openpyxl
#load datasets from Excel files
df_1 = pd.read_excel('E:/菌株上架测序结果_新老99和潜在新种大整合结果/管子测序结果20200927.xlsx')
print(df_1)
df_2 = pd.read_excel('E:/菌株上架测序结果_新老99和潜在新种大整合结果/1.xlsx')
print(df_2)
#df_3 = pd.read_excel('sheet3.xlsx')
#merge datasets
df_combine = df_1.merge(df_2, left_on='客户编号', right_on = "编号")
#df_combine = df_combine.merge(df_3, on='PolicyID')
print(df_combine)
#output back into Excel
df_combine=df_combine.drop(columns='编号') #drop a column
print(df_combine.drop_duplicates())
df_combine.to_excel('E:/菌株上架测序结果_新老99和潜在新种大整合结果/df_combine1.xlsx',sheet_name='Combined')
这是第一个表:
image.png
这是第二个表:
image.png
我们的目标是合并,其中方法类似vlookup,
所以先合并,再去除重复的编号与客户编号列中的一个,会得到以下结果:
image.png
代码运行结果为:
image.png
文章目录原题题目代码实现(首刷自解)原题题目代码实现(首刷自解)class Solution {public: int firstUniqChar(string s) { unordered_map<char,int> map; for(const auto& chr:s) ++map[chr]; for(int i=0;i<s.size();++i) if(map[s[i]]
Activiti 工作流引擎
1.select和epoll有什么不同? <1>**select可以监听文件描述符是有限的**,由FD_SETSIZE设置,默认是1024,可以通过修改这个宏来增加可监听文件描述符的个数,但资料同时指出这样修改将导致不可预期的效果。**epoll可监听的文件描述符的个数为进程可打开的文件的个数**。<2>select中,当有事件就绪时,内核修改参数以通知用户,用户需要遍历所有的fd判断是哪个fd就绪,**
题目描述 在一个地区中有 n 个村庄,编号为 1, 2, …, n。有 n – 1 条道路连接着这些村 庄,每条道路刚好连接两个村庄,从任何一个村庄,都可以通过这些道路到达其 他任一个村庄。每条道路的长度均为 1 个单位。 为保证该地区的安全,巡警车每天要到所有的道路上巡逻。警察局设在编号 为 1 的村庄里,每天巡警车总是从警察局出发,最终又回到警察局。 下图表示一个有 8 个村庄的地区,其中村...
一、竞赛背景美国大学生数学建模竞赛(MCM/ICM)由美国数学及其应用联合会主办,是唯一的国际性数学建模竞赛,也是世界范围内最具影响力的数学建模竞赛。赛题内容涉及经济、管理、环境、资源、生态、医学、安全、等众多领域。竞赛要求三人(本科生)为一组,在四天时间内,就指定的问题完成从建立模型、求解、验证到论文撰写的全部工作,体现了参赛选手研究问题、解决方案的能力及团队合作精神。 为现今各类数学建模竞赛之鼻祖。MCM/ICM是Mathematical Contest In Modeling和Interdisc.
引用变量只能调用它编译时的类型方法,而不能调用它运行时类型的方法。强制类型转换:1.基本类型之间的转换只能在数值类型之间进行。数值类型与布尔类型不能转换。2.引用类型之间的转换只能在具有继承关系的两个类型之间进行,如果试图把一个父类实例转换为一个子类类型,则这个对象必须实际上是子类类型(即编译时时父类类型,而运行时为子类类型),否则会ClassCastException。/
策略模式+适配器模式+单例模式
数据结构与算法总论 (转)[@[email protected]]说明:下面的文章小部分是参考了以前学校BBS上面的一篇文章,由于没有留下当时的出处,所以无法写下对这篇文章部分内容的原始作者,特此说明,并表示对他的感谢。(一)何谓数据结构 数...
实践编程中反复迭代,所以学习资料是一回事,须知尽信书不如无书。 一、书籍:算法与数据结构:《数据结构(C语言版)》——严蔚敏、吴伟民 清华出版社我觉得其配套习题集甚至比原书更有价值,每个较难的题都值得做一下。 《Introduction to Algorithms》第二版 中文名《算法导论》关于算法的标准学习教材与工程参考手册,在去年CSDN网站上其翻译版竟然评为年
昨天程序中要使用大量的boo来表征对象是否被引用,我马上想到了std::bitset,但是仔细一看,bitset不是动态了,需要编译器制定个数的,而不是运行期的,我需要的是运行期的。 于是找到了boost::dynamic_bitset,这个这是我所需要的。 以下一个简单例子 size_t t = 5; boost::dynamic_bitset(
本来自己想写个来着,看着有现成的,就懒得写了。转载:https://blog.csdn.net/qq_40976321/article/details/106453181uni-app 引入uViewUIuViewUI官方地址:https://uviewui.com/1、npm 安装uViewUI// 安装npm install uview-ui2、npm 安装方式的配置uView依赖SCSS,您必须要安装此插件,否则无法正常运行。HBuilderX工具中要安装scss插件: HX菜单
昨天在抓取 post 的登录请求时发现,在发出 post 请求之后,页面会进行跳转,这样就无法在 chrome 的开发人员工具中的 network 面板中查看到请求的具体信息。点击登录按钮后,直接从 登录页面 跳转到了 我的CSDN。解决办法:进行如下设置即可,这样就可以查看到 post 请求的信息啦