python-3.x - 如何根据某些列值比较两个数据框并在熊猫中删除它们
问题描述
我有两个数据框。
df1:
userID ID Sex Date Month Year Security
John 45 Male 31 03 1975 Low
Tom 22 Male 01 01 1990 High
Mary 33 Female 23 05 1990 Medium
Hary 56 Male 15 09 1970 High
df2:
userID ID Sex Date Month Year
Hari 45 Male 31 03 1975
Luka 22 Male 01 01 1990
Johan 33 Female 23 05 1990
Irfan 56 Male 29 09 1971
John 45 Male 31 03 1975
Tom 22 Male 01 01 1990
Mary 34 Female 34 05 1980
Hary 56 Male 15 09 1970
我想将 df2 与 df1 进行比较,并仅保留 df2 中在列中具有共同值的那些行(用户 ID、ID、日期、月份、年份)
所以我的新 df2 应该是这样的:
John 45 Male 31 03 1975
Tom 22 Male 01 01 1990
Hary 56 Male 15 09 1970
在熊猫中获得这个的最佳方法是什么?有人可以帮助我吗?
解决方案
只需简单地merge
跟随dropna
df2.merge(df1,how='left').dropna().drop('Security',1)
Out[318]:
userID ID Sex Date Month Year
4 John 45 Male 31 3 1975
5 Tom 22 Male 1 1 1990
7 Hary 56 Male 15 9 1970
推荐阅读
- autodesk-forge - 如何将 Autodesk Forge 模型查看器嵌入网站?
- storybook - 无法弄清楚为什么文档页面上的 arg 控件位于页面顶部
- node.js - 'nvm' 无法识别 - 但已安装
- python - Python Pylab - 设置 3d 文本颜色
- php - 语句未插入数据库
- javascript - 将表单提交映射到数组
- python - 使用 matplotib 小部件水平滚动热图时出现初始帧和结束帧的问题
- typescript - 在本地链接一个 Vue 应用程序和一个 Vue lib --> d.ts 问题;
- flutter - Flutter中如何根据平台编译源码?
- javascript - 解析云代码作业功能优化