当前位置: 首页 > 知识库问答 >
问题:

从数据帧B中减去数据帧A的行[duplicate]

章绪
2023-03-14

我有两个数据帧,我们称它们为A和B。它们有完全相同的7列(我们称它们为col1、col2、col3、col4、col5、col6和col7)。有些栏目包括客户id、客户名、客户姓、电话号码等(出于保密目的,我无法透露确切的姓名)。

DataFrame A比DataFrame B大得多,DataFrame B中的一些条目包含在DataFrame A中(即DataFrame A)。DataFrame B是DataFrame A的子集)。

问题是,我想确保DataFrame A中的记录不在DataFrame B中,即从DataFrame A中减去DataFrame B。

到目前为止,我已经为两个DataFrames添加了一个名为“组”的额外列,使用pd.merge(A,B,how=“左”,on=“醇”)合并它们,然后拉出最终有两个不同值的列'group_x''group_y'(合并创建了这两个组。

有更简单的方法吗?我做了很多尝试,但都没有成功。

共有1个答案

林雅畅
2023-03-14

是的,您的方式还可以,如果不需要合并的数据帧,您还可以执行类似于dfA.ix[!dfA.col.isin(dbB.col)]的操作。

 类似资料:
  • 我有两个形状相同的python数据帧,例如: 我想使用df2中的值作为行索引来选择df1中的值,并创建一个形状相等的新数据帧。预期结果: 我已尝试使用.loc,它在单个列中运行良好: 但是我不能同时在所有列上使用. loc或. iloc。我想避免循环来优化性能,因为我正在处理一个大数据帧。有什么想法吗?

  • 我需要这个社区的R专家的帮助:set。种子(1234)x 我想得到这个输出: 谢谢你的帮助!

  • 我正在使用: Python 3.6.8 火花2.4.4 我在spark类路径中有以下JAR: http://repo1.maven.org/maven2/com/databricks/spark-redshift_2.11/2.0.1/spark-redshift_2.11-2.0.1.jar http://repo1.maven.org/maven2/com/databricks/spark-a

  • 我试图从dfb中减去dfa,其中列映射基于第三个映射数据帧。在本例中,应从x1中减去B,从x2中减去A。 这可以通过循环和其他一些肮脏的方法来实现,但我想知道是否有更简洁的方法来实现这一点。 数据帧a 数据帧b 数据帧c 所需结果

  • 我有一个如下所示的数据帧: 我需要提取lat=30.75和lon 76.25的行,对于我使用的行: 但这表明了这个错误:

  • 我有以下数据帧: 数据帧是从csv文件中读取的。所有类型为1的行都位于顶部,后面是类型为2的行,后面是类型为3的行,以此类推。 我想改变数据帧行的顺序,这样所有的都是混合的。一个可能的结果可能是: 我怎样才能做到这一点?