设置向上
我有两个pandas数据框df1
和df2
,每个都包含两列,其中包含对id及其各自网址的观察,
| id | url | | id | url |
------------ ------------
| 1 | url | | 2 | url |
| 2 | url | | 4 | url |
| 3 | url | | 3 | url |
| 4 | url | | 5 | url |
| 6 | url |
dfs中有一些观察结果,id
列中有明确说明,例如观察2
及其url
都在dfs中。
在dfs中定位的那些' double'观察结果不一定必须相同,例如观察2
位于df1
的第一行,df2
的第二行。
最后,dfs不一定具有相同数量的观察结果,例如df1
有四个观察结果,df2
有五个观察结果。
问题
我希望在df2
中引出所有独特的观察结果并将其插入新的df(df3)
,即我想获取,
| id | url |
------------
| 5 | url |
| 6 | url |
我该怎么办?
我已经尝试了this answer,但无法让它适用于我的双列数据帧。
我还试过this other answer,但这给了我一个空的common
数据帧。
答案 0 :(得分:0)
可能是这样的:df3 = df2[~df2.id.isin(df1.id.tolist())]
答案 1 :(得分:0)
ID号码是一个很好的索引名称:
df1.index = df1.id
df2.index = df2.id
然后使用非常直截了当的index.difference
:
diff_index = df2.index.difference(df1.index)
df3 = df2.loc[diff_index]