python - Pandas:使用 isin() 检查其他数据框中是否存在数据框观察结果
问题描述
我有df1:
trip_id latitude longitude datetime
0 356a192b7913b04c54574d18c28d46e6395428ab 57.723610 11.925191 2021-06-13 14:22:11.682
1 356a192b7913b04c54574d18c28d46e6395428ab 57.723614 11.925187 2021-06-13 14:22:13.562
2 356a192b7913b04c54574d18c28d46e6395428ab 57.723610 11.925172 2021-06-13 14:22:28.635
3 da4b9237bacccdf19c0760cab7aec4a8359010b0 57.723637 11.925056 2021-06-13 14:22:59.336
4 da4b9237bacccdf19c0760cab7aec4a8359010b0 57.724075 11.923708 2021-06-13 14:23:44.905
5 77de68daecd823babbb58edb1c8e14d7106e83bb 57.723610 11.925191 2021-06-13 14:22:04.000
6 77de68daecd823babbb58edb1c8e14d7106e83bb 57.723614 11.925178 2021-06-13 14:22:44.170
7 77de68daecd823babbb58edb1c8e14d7106e83bb 57.723827 11.924635 2021-06-13 14:23:14.479
8 77de68daecd823babbb58edb1c8e14d7106e83bb 57.723866 11.924005 2021-06-13 14:23:29.605
和df2:
trip_id latitude longitude datetime
0 356a192b7913b04c54574d18c28d46e6395428ab 47.723610 14.925187 2021-06-13 14:22:59.336
1 555a192b7913b04c54574d18c28d46e639542yyy 60.723610 12.925187 2021-06-13 14:22:59.336
2 77de68daecd823babbb58edb1c8e14d7106e83cc 58.993066 13.924005 2022-06-13 20:23:29.605
我想检查 df1 中是否存在 df2 中的行。为此,我尝试了:
df2.isin(df1)
>>
trip_id latitude longitude datetime
0 True False False False
1 False False False False
2 False False False False
最终目标是将 df2 中的观察(行)添加到 df1(如果它们不存在)。但是,由于在trip_id 中为索引0 返回True,所以df2 的整个第一行不会在df1 中被标识为新行。只要观测值中有一个元素不同,就应该在 df1 中将其添加为新行。
要将 df2 中的新行添加到 df1,我将使用:
df3 = df1.append(df2, ignore_index=True)
所以最终,最终的代码应该是:
if df2.isin(df1):
df3 = df1.append(df2, ignore_index=True)
解决方案
您可以简单地append
根据drop_duplicates
您的需要:
df1.append(df2).drop_duplicates()
推荐阅读
- maven - 在使用 maven 插件生成的 jar 中包含 test-classes 文件夹
- javascript - Javascript:将字节转换为(kb,mb,tb)
- xamarin - 当另一个可绑定属性更改时,如何强制调用可绑定属性的 coerceValue?
- r - 可以从 rvg 组合 openxlsx-Workbook 和 xl_add_vg - 导出可编辑图形
- ios - 单例类中的可失败初始化与 swift 中的私有初始化程序
- css - 如何为svg着色:标记线的颜色
- javascript - Set date input format for vue-moment
- react-native - 更新 react-native-maps 中的标记位置并保留当前区域
- python - 如何根据数据框中的条件更改行的值?
- python - python用matplotlib同时绘制多个直方图