Pandas中两个dataframe的交集和差集的示例代码
作者:JasonLiu1919 发布时间:2022-05-24 14:52:37
标签:Pandas,dataframe,交集,差集
创建测试数据:
import pandas as pd
import numpy as np
#Create a DataFrame
df1 = {
'Subject':['semester1','semester2','semester3','semester4','semester1',
'semester2','semester3'],
'Score':[62,47,55,74,31,77,85]}
df2 = {
'Subject':['semester1','semester2','semester3','semester4'],
'Score':[90,47,85,74]}
df1 = pd.DataFrame(df1,columns=['Subject','Score'])
df2 = pd.DataFrame(df2,columns=['Subject','Score'])
print(df1)
print(df2)
运行结果:
求两个dataframe的交集
intersected_df = pd.merge(df1, df2, how='inner')
print(intersected_df)
也可以指定求交集的列:
intersected_df = pd.merge(df1, df2, on=['Subject'], how='inner')
print(intersected_df)
求差集
df2-df1:
set_diff_df = pd.concat([df2, df1, df1]).drop_duplicates(keep=False)
print(set_diff_df)
df1-df2:
set_diff_df = pd.concat([df1, df2, df2]).drop_duplicates(keep=False)
print(set_diff_df)
另一种求差集的方法是:
以df1-df2为例:
df1 = df1.append(df2)
df1 = df1.append(df2)
set_diff_df = df1.drop_duplicates(subset=['Subject', 'Score'],keep=False)
print(set_diff_df)
得到的df1-df2结果是一样的:
来源:https://blog.csdn.net/ljp1919/article/details/107165778/
0
投稿
猜你喜欢
- 8大基础定位driver.find_element_by_id() # id定位driver.find_element_by_name()
- 网页设计遇到最大的麻烦之一莫过于网页对不同浏览器的兼容性问题了,因为IE 6.0 / IE 7.0 / firefox 2 / Opera
- 代码如下:--新增表字段 ALTER procedure [dbo].[sp_Web_TableFiled_Insert] (
- 如果直接对大文件对象调用 read() 方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。即通过yield。
- 本文将通过解读render函数的源码,来分析vue中的vNode是如何创建的。在vue2.x的版本中,无论是直接书写render函数,还是使
- --销售冠军 --问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表 --- create table salesd
- 在php中使用Xajax能够即时与数据库发生交互带给用户更好的体验主要的应用有网页的即时、不刷新的登录系统也可以利用于注册系统中即时验证用户
- Vuejs 本身就是一个 MVVM 的框架。但是在监听 window 上的 事件 时,往往会显得 力不从心。比如 这次是 window.re
- 本文实例讲述了Python3中正则模块re.compile、re.match及re.search函数用法。分享给大家供大家参考,具体如下:r
- keras.utils.to_categorical这个方法,源码中,它是这样写的:Converts a class vector (int
- layer是一款近年来备受青睐的web弹层组件,官网地址是:http://layer.layui.com/可以从官网上下载最新版本.使用la
- java开发者在定义类中的方法时,不会关心方法的定义相对于调用语句的位置。但是python中需要注意:函数必须先定义、后调用(函数调用函数例
- 问题你想读写一个二进制数组的结构化数据到Python元组中。解决方案可以使用 struct 模块处理二进制数据。 下面是一段示例代码将一个P
- view()函数是在torch.Tensor.view()下的一个函数,可以有tensor调用,也可以有variable调用。其作用在于返回
- 随着互联网产业的飞速发展和电子产业的飞速发展,人们的社交似乎离不开网络,这就应运了SNS的飞速发展。从打开QQ空间关注朋友们的动态,最近心情
- 交互设计就是研究人与物体之间如何互动的问题,比如按电梯时,按钮立即高亮,同时屏幕上显示电梯现在所在楼层数,这个过程就是交互设计,而电梯按钮用
- 一、APC缓存简介APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中
- 本文实例讲述了Python单元测试方法。分享给大家供大家参考,具体如下:Eric书中《Python编程从入门到实践》中的一个例子。《Pyth
- 本文实例讲述了Python基于Socket实现的简单聊天程序。分享给大家供大家参考,具体如下:需求:SCIENCE 和MOOD两个人软件专业
- 前言相信做自动化测试的同学一定不可忽视的问题就是验证码,他几乎是一个网站登录的标配,当然,我一般是不建议在这上面浪费时间去做识别的。举个例子