Pandas中两个dataframe的交集和差集的示例代码

作者:JasonLiu1919 时间:2022-05-24 14:52:37 

创建测试数据:


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)

运行结果:

Pandas中两个dataframe的交集和差集的示例代码

求两个dataframe的交集


intersected_df = pd.merge(df1, df2, how='inner')
print(intersected_df)

Pandas中两个dataframe的交集和差集的示例代码

也可以指定求交集的列:


intersected_df = pd.merge(df1, df2, on=['Subject'], how='inner')
print(intersected_df)

Pandas中两个dataframe的交集和差集的示例代码

求差集

df2-df1:


set_diff_df = pd.concat([df2, df1, df1]).drop_duplicates(keep=False)
print(set_diff_df)

Pandas中两个dataframe的交集和差集的示例代码

df1-df2:


set_diff_df = pd.concat([df1, df2, df2]).drop_duplicates(keep=False)
print(set_diff_df)

Pandas中两个dataframe的交集和差集的示例代码

另一种求差集的方法是:

以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结果是一样的:

Pandas中两个dataframe的交集和差集的示例代码

来源:https://blog.csdn.net/ljp1919/article/details/107165778/

标签:Pandas,dataframe,交集,差集
0
投稿

猜你喜欢

  • Python常用模块用法分析

    2022-02-05 05:29:43
  • Pycharm设置界面全黑的方法

    2021-09-15 11:13:51
  • Python如何配置环境变量详解

    2021-11-20 08:18:21
  • Python基于最小二乘法实现曲线拟合示例

    2021-08-06 15:47:07
  • 运行SQL Server的计算机间移动数据库

    2009-01-20 13:07:00
  • 分析SQL Server中数据库的快照工作原理

    2009-01-19 14:03:00
  • 超级链接中MailTo的语法

    2008-08-29 13:00:00
  • php连接不上mysql但mysql命令行操作正常的解决方法

    2023-11-18 20:02:43
  • 如何使用Python多线程测试并发漏洞

    2021-11-18 08:25:52
  • python tkinter 做个简单的计算器的方法

    2023-12-20 18:18:27
  • pytorch 准备、训练和测试自己的图片数据的方法

    2021-02-27 13:54:35
  • ASP存储过程应用全接触

    2007-08-18 14:28:00
  • 几个常用的js小函数

    2007-09-19 12:59:00
  • asp DateDiff实现文字在特定时间后消失

    2011-03-11 11:11:00
  • 教程:mysql申明变量以及赋值

    2009-10-26 10:31:00
  • pytorch三层全连接层实现手写字母识别方式

    2021-04-15 03:11:04
  • python实现定时提取实时日志程序

    2023-03-03 22:31:24
  • 语义化的HTML与搜索引擎优化(如何编写纯语义的HTML进行搜索引擎优化)

    2009-12-28 12:42:00
  • Go语言框架快速集成限流中间件详解

    2023-08-26 11:44:39
  • 用Frontpage设计网站主页

    2008-10-23 13:44:00
  • asp之家 网络编程 m.aspxhome.com