python - 我怎样才能 'de-merge' Pandas 数据帧产生 2 个不同的集合

标签 python pandas merge

<分区>

我有两组数据:

df1  
  'Y'  
A a  
B b  
C c  
D d  
E e  

df2  
  'Y'  
D d  
E e  
F f  

我需要转换第一个 df1 以删除出现在 df2 中的任何数据 我可以使用 SQL 轻松完成,但这不是我的选择 逻辑是'select * from df1 where df1.Y not in (select Y from df2)' 我似乎无法使用合并来正确实现。有任何想法吗? 期望的结果:

df3  
  'Y'  
A a  
B b  
C c  

df2不变

最佳答案

您可以使用 .isin() 方法对 df1 进行子集:

df1[~df1.Y.isin(df2.Y)]

#   Y
#A  a
#B  b
#C  c

关于python - 我怎样才能 'de-merge' Pandas 数据帧产生 2 个不同的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41317066/

相关文章:

python - 计算图像中白色像素的总数

php - 并排合并两个数组,其中一个可以比另一个短

xcode - 如何在 Xcode merge 工具中转到下一个冲突?

python - 日期值的按元素最大值

python - Pandas - 如何分组和绘制一周中每一天的每个小时

python - pd.cut 类别为 plt.xticklabels

git - 防止在 master 分支中提交

从 Bash 调用的 Python 脚本不执行任何操作

接受两个函数并返回串联函数的 Python 函数?

python - 新数组的总大小必须不变