哇,时间好快一个多月没更新文章了,在这一个月里发生了很多事也是没有太多时间。不过我胡汉三又回来了,哈哈,,,
废话不多说,今天我要记录一个很容易用到的知识点。就是取两个dataframe的差集,遇到这个情况我第一个想到的是循环遍历,然它一一匹配,但是慢慢我觉得小数据的速度还行,但是数据量大了以后可能会比较繁琐。不停扒网页我发现的确有简单方法:
df1 = DataFrame([['a', 10, '男'], ['b', 11, '男'], ['c', 11, '女'], ['a', 10, '女'], ['c', 11, '男']],
columns=['name', 'age', 'sex'])
df2 = DataFrame([['a', 10, '男'],
['b', 11, '女']],
columns=['name', 'age', 'sex'])
取交集:print(pd.merge(df1,df2,on=['name', 'age', 'sex']))
取并集:print(pd.merge(df1,df2,on=['name', 'age', 'sex'], how='outer'))
取差集(从df1中过滤df1在df2中存在的行):
df1 = df1.append(df2) df1 = df1.append(df2) df1 = df1.drop_duplicates(subset=['name', 'age', 'sex'],keep=False) print(df1)
参考:https://blog.csdn.net/qq_40981268/article/details/85957177
本文介绍了使用Python的Pandas库高效地对两个DataFrame进行差集运算的方法,避免了传统循环遍历的低效方式。通过append和drop_duplicates函数组合,实现从df1中过滤掉在df2中存在的行,适用于大数据量场景。
2万+

被折叠的 条评论
为什么被折叠?



