pandas 对比两个dataframe实现sql的‘not in‘的效果

Spark中DataFrame与Pandas中DataFrame的区别 目录 为何使用 PySpark DataFrame Pandas DataFrame 数据结构特性 Spark DataFrame 数据结构与存储特性 使用 Spark DataFrame 优势 Spark toPandas 详解 Spark与Pandas中的DataFrame的区别 为何使用 PySpark DataFrame 使用 pandas 进行数据处理,dataframe... 阅读详情

其实最终我去遍历dataframe然后拼 ‘not in’ 的sql去了。😂
这种方式(百度看到的)应该跑起来挺快的,记录一下,下次实验一下。

import pandas as pd
df1=pd.DataFrame({'authorID':['12','34','56']})
df2=pd.DataFrame({'authorID':['12','56','78','97']})
original_users=set(df1[['authorID']].values.reshape(-1))
for i in df2[['authorID']].values.reshape(-1):
    if i not in original_users:
        print(i)

还有一种也是百度看到的,这个方式是把想对比的对象拼接在一起,然后把重复项删除。。还得拼两次,要不然把原本自己没有的项也带进来了,但是我觉得如果数据量一大起来,估计会卡死,这种弃用。

>>> import pandas as pd
>>> data_a={'state':[1,1,2],'pop':['a','b','c']}
>>> data_b={'state':[1,2,3],'pop':['b','c','d']}
>>> a=pd.DataFrame(data_a)
>>> b=pd.DataFrame(data_b)
>>> a
   state pop
0      1   a
1      1   b
2      2   c
>>> b
   state pop
0      1   b
1      2   c
2      3   d
>>> a=a.append(b)
>>> a=a.append(b)
>>> a
   state pop
0      1   a
1      1   b
2      2   c
0      1   b
1      2   c
2      3   d
0      1   b
1      2   c
2      3   d
>>> a.drop_duplicates(subset=['state','pop'],keep=False)
   state pop
0      1   a
pandas中DataFrame 数据合并,连接(merge,join,concat) pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYSIS】中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰山一角。谈到pandas数据的行更新、表合并等操作,一般用到的方法有concat、join、merge。但这三种方法对于很多新手来说,都不太好分清使用的场合与用途。今天就pandas官网中关于数据合并... 阅读详情

相关推荐

【Pandas】pandas DataFrame style

`pandas.DataFrame.style` 是 Pandas 提供的一个属性,用于对 `DataFrame` 进行 **可视化样式渲染**,支持在 Jupyter Notebook、IPython 等环境中以 HTML 形式展示带有样式的数据表格。它基于 `Styler` 类,允许你对单元格、行、列应用 CSS 样式,实现如 **背景色、字体颜色、数据格式化、条件高亮** 等效果。

weixin_39648905的博客 819

【Python】 如何使用Pandas DataFrame的‘in‘和‘not in‘进行筛选,就像在SQL中一样

在Python的Pandas库中,DataFrame是一个强大的数据结构,用于处理表格数据。Pandas提供了多种方法来筛选DataFrame中的数据,其中使用。使用布尔索引,我们可以灵活地对DataFrame进行各种复杂的筛选操作。掌握这些技巧,可以帮助我们更加高效地处理和分析数据。在Pandas中,我们可以通过布尔索引来实现类似的功能。,包含了员工的姓名和部门信息,我们想要筛选出部门为"IT"或"HR"的员工。如果我们想要筛选出除了"IT"和"HR"部门之外的所有员工,可以使用。

PythonWeb实践 3093

Python Pandas将 DataFrame 转换为列表详解

在数据分析和处理过程中,经常会使用到 Pandas 库来处理和操作数据。Pandas 提供了灵活强大的数据结构 DataFrame,它可以存储和处理各种类型的数据,并提供了丰富的方法和函数来进行数据操作。有时候,我们需要将 DataFrame 转换为列表形式,以便进一步处理或者与其他库进行集成。本文将详细介绍如何使用 Pandas 将 DataFrame 转换为列表,并提供丰富的示例代码来帮助读者更好地理解和应用。

Rocky006的博客 1487

Pandas实现in与not in筛选数据

Pandas实现in与not in筛选数据 通过df.isin()来判断DataFrame中每个元素是否存在 DataFrame.isin()官方文档 import pandas as pd # 示例数据 df = pd.DataFrame({'user_id' : [1, 2, 3, 4, 5, 6], 'score' : [66, 67, 80, 71, 69, 57]}) # 需被清理...

weixin_44593818的博客 9960

DataFrame实现两表连接

连接查询:包含连接操作的查询称为连接查询连接查询包含:等值,自然,外连接,内连接,坐连接,自连接……挖坑坑,深入学习了慢慢填。pandas的DataFrame的连接不算真正意义的连接查询,只是在两个DataFrame中的操作达到了像连接查询的效果用pandas库下的DataFram创建DataFrame类型的数据other = pd.DataFrame({'key': ['K0', 'K1', '...

qq_33711966的博客 7540

Android安全支付(1)-整体架构-keymint

(1)接口定义hardware/interfaces/security/keymint/aidl/android/hardware/security/keymint/IKeyMintDevice.aidl。keymint是keymaster v4之后的替代设计。所以android 15上最好采用keymint的接口进行硬件功能的对接。同时,我们会集成一款紫光的芯片。3.可以用keyStore.getKey()来获取存储在keyStore中的数据进行加密和解密。四、关于keymint的接口定义和具体实现。

Android系统开发-VR OS-系统安全隐私 1767

pandas 实现 in 和 not in 的用法及心得

经常在处理数据中从一个总数据中清洗出数据, 但是有时候需要把没有处理的数据也统计出来. 这时候就需要使用: pandas.DataFrame.isin DataFrame中的每个元素是否都包含在值中 pandas文档位置 例子: 如何实现SQL的等价物IN和NOT IN? 我有一个包含所需值的列表。下面是一个场景: df = pd.DataFrame({'countries'...

Ch3nnn的博客 3万+

MATLAB去雾算法实战:5种经典方法对比+1种改进方案(附完整源码)

本文详细对比了MATLAB中5种经典去雾算法(包括暗通道先验、多尺度Retinex等)的实现效果,并提出一种创新的自适应融合改进方案。通过完整的源码展示和性能对比,帮助开发者掌握图像去雾的核心技术,提升计算机视觉应用中的图像质量。特别针对去雾算法中的光晕效应问题,给出了工程实践中的优化技巧。

weixin_26801149的博客 412

pandas怎么过滤not in

https://stackoverflow.com/questions/27965295/dropping-rows-from-dataframe-based-on-a-not-in-condition

joshuajinxiaoshuai的博客 2916

Fluent DPM模型保姆级教程:三通管颗粒流动模拟,从网格导入到轨迹图生成

本文提供Fluent DPM模型在三通管颗粒流动模拟中的保姆级教程,涵盖从网格导入到轨迹图生成的全流程。通过详细步骤和参数设置,帮助用户掌握DPM模型在颗粒流动模拟中的关键技巧,适用于化工、能源等领域的工程应用。

weixin_30615767的博客 579

python 两个dataFrame取不同部分

一、列表: 一般两个列表取不同我们常用列表推导式: A = [1,2,3,4] B = [3,4,5,6] 提取两列表相同元素: both = [i for i in A if i in B] 提取A特有的元素: diff_A = [i for i in A if i not in B] 提取A,B各自独有的元素: diff_both = [i for i in (A+B) if i not in both] 当然还可使用集合的特性进行筛选,更加的简便: 并集(|),交集(&),差集(-) 如提

Judezhl的博客 1万+

DDoS攻击--Syn_Ack/Ack_Flood等攻击防护详解(TCP)

前言 Syn_Ack/Ack_Flood攻击属于TCP攻击,在了解Syn_Ack/Ack_Flood攻击之前,可以先看看TCP攻击详解。 Syn_Ack Flood 攻击: syn_ack报文出现在连接建立的第2个报文,用来确认第一次握手的syn包。 当服务器收到syn_ack报文后会在系统里查询是否属于3次握手的范畴。如果属于则回复ack,并将连接设为连接状态。若没有查到相关信息,则回复...

一只IT小小鸟 1万+

pandas 入门:DataFrame的创建,读写,插入和删除

本文介绍了Pandas创建和读取DataFrame的核心操作方法。主要内容包括:1)通过读取CSV/Excel文件、字典、数组或创建空DataFrame四种方式构建DataFrame;2)使用列名、列号或.loc/.iloc方法按列读取数据;3)通过行标签(.loc)、行号(.iloc)或已弃用的.ix方法按行读取数据;4)使用双重索引或.loc[row,col]格式按单元格精确读取数据。文章通过代码示例详细演示了各种操作方法的区别与适用场景,特别强调了索引设置对数据读取的影响,是Pandas基础操作的实用

不去想结果,一直在路上 30万+

DiffusionDrive实战:如何用截断扩散模型3个月搞定自动驾驶轨迹规划(附代码)

本文详细介绍了如何利用DiffusionDrive截断扩散模型,在三个月内快速构建端到端的自动驾驶轨迹预测系统。内容涵盖从环境搭建、数据处理、模型架构解析到训练调参和推理优化的完整实战流程,并提供了关键代码示例,旨在帮助开发者高效实现高质量的自动驾驶轨迹规划。

weixin_35578748的博客 143

在Windows10上安装WSL2

WSL2是微软提供的Windows子系统,允许在Windows 10和11上运行Linux环境,提供更好的性能和兼容性。安装WSL2需要启用WSL功能、更新系统、安装WSL2内核,并设置为默认版本。之后,可以通过Microsoft Store安装Linux发行版,并使用WSL命令启动和管理它们。

howard2005的专栏 5937

python中isin函数_pandas中的isin函数详解

今天有个同学问到,notin的逻辑,想用SQL的selectc_xxx_sfromt1leftjoint2ont1.key=t2.keywheret2.keyisNULL在Python中的逻辑来实现,实现了leftjoin了(直接用join方法),但是不知道怎么实现wherekeyisNULL。其实,实现notin的逻辑,不用那么复杂,直接用is...

weixin_39530509的博客 3470

【Go语言实战】(26) 分布式搜索引擎

基于go语言的分布式搜索引擎

面向生活编程 2379

Pandas-DataFrame入门

Pandas是用于数据分析的开源Python库,可以实现数据加载,清洗,转换,统计处理,可视化等功能DataFrame和Series是Pandas最基本的两种数据结构DataFrame用来处理结构化数据(SQL数据表,Excel表格)Series用来处理单列数据,也可以把DataFrame看作由Series对象组成的字典或集合在我们使用Excel或者SQL进行数据处理时,Excel和SQL都提供了基本的统计计算功能当我们再次查看gapminder数据的时候,可以根据数据提出几个问题。

weixin_45862390的博客 1364

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【数据处理包Pandas】DataFrame对象的合并

本文讲解数据处理包Pandas,围绕DataFrame对象的合并,包括concat、append、merge和join四种方法。

Morse_Chen的博客 6219

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

写给 SQL 开发者看的 Pandas 教程

在一些 SQL 处理起来比较麻烦的场景可以使用 pandas 来进行处理,或者先用 SQL 获取初步结果,然后再使用 pandas 处理。大概的意思是,我们对某个 copy 的 dataframe 进行了操作,虽然现在会生效,但是不保证以后还会生效,因此尽量不要依赖这种操作。我们可以看到,结果中的 item 和 price 并不在同一行,这是因为计算结果后,用于分组的列会被 datafrme 视为。那么使用刚刚的方法就无法达到这个效果,我们可以使用 pandas 提供的更方便的。的 dataframe。

2401_89221445的博客 655

Python Pandas将 DataFrame 转换为列表

DataFrame 是 Pandas 中最常用的数据结构之一,它类似于电子表格或 SQL 表,可以存储二维数据,并且可以轻松处理不同类型的数据。DataFrame 由行和列组成,每一列可以是不同的数据类型(整数、浮点数、字符串等)。本文介绍了如何使用 Pandas 将 DataFrame 转换为列表,并提供了多种方法的示例代码。了解如何将 DataFrame 转换为列表可以帮助我们更灵活地处理和分析数据,并且可以与其他库或模块进行无缝集成。

涛哥聊Python 2212

[Pandas]Dataframe中切片常用技巧

1、根据值在是否在列表中进行切片: 使用isin方法可以根据DataFrame中的某列的值是否在某个列表中来进行切片(注意:这里不要直接使用in,否则会报错),代码如下: pf = pd.DataFrame([['74-27-EA-4D-93-BD','act_click','click_news',3],['E0-3F-49-79-C8-97','act_biz','click_hb.seb',...

wx0628的博客 4474

SQL到Pandas数据操作转换指南

关系型数据库与数据分析工具的核心差异体现在SQL与Pandas的操作范式上。SQL作为声明式语言关注数据需求描述,而Pandas作为过程式工具强调操作步骤实现。这种思维转换对数据工程师尤为重要,特别是在处理DataFrame这类内存数据结构时。通过掌握Pandas的.loc索引、groupby聚合等核心方法,可以高效实现SQL中的SELECT、WHERE、GROUP BY等常见操作。在实际业务场景中,常见于电商订单分析、用户行为统计等数据处理流程,合理结合SQL的数据提取能力和Pandas的灵活转换特性,能

weixin_30628077的博客 355

Pandas中DataFrame关联操作(concat、append、merge、join)

Pandas中DataFrame关联操作(concat、append、merge、join) 原文链接:https://blog.youkuaiyun.com/ai_1046067944/article/details/86481276 或 结论: concat与append是属于拼接操作 concat简略形式,只能在axis=0上进行合并 merge与join属于关联操作,类似于sql中的join操作 merge可以实现列与索引上关联操作,join只能索引上关联操作 关联操作基本上用merge就可以了 一、Conca

weixin_43668299的博客 2345

DuckDB与Pandas协同实战:SQL加速本地OLAP分析

在单机数据分析场景中,Pandas作为主流Python数据处理库,擅长交互式探索与特征工程,但面对GB级数据的全表聚合、多表JOIN和复杂OLAP查询时,易遭遇内存溢出与性能瓶颈。其根本限制在于基于Python对象的行式内存计算范式。而DuckDB作为嵌入式向量化SQL引擎,通过原生Parquet支持、谓词下推、SIMD加速和零配置设计,实现了对Pandas OLAP短板的精准补位。它不替代Pandas,而是以SQL为统一接口,将重型计算卸载至C++执行层,同时保持与DataFrame无缝互操作。这种‘Pa

weixin_30608503的博客 343
上一篇: Spark写入数据到Hbase(下)解决scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps
铲子挖数据
博客等级 码龄8年 24粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值